rubikzube

software engineer ¤ yogi ¤ turban cowboy

Thursday, May 25, 2006

I love the informatics program at Irvine

That may come as a shock to you since I bitch about it on a regular basis, but there is nowhere else I would rather be. The program challenges and rewards me every day for the work I put into following the trail, and I know that I am building the strength to one day blaze my own out in the mental wilderness.

Soldiering on with the landscape metaphor, the program itself exists in the borderlands between the hard and soft sciences. It is a place in which one can discuss Heidegger and network topologies in the same sitting. The junction of these two sides of academia, along with the passionate belief shared by everyone in the department that life can become richer through interaction with computers is… well, it brings me hope.

Computers will never solve the world problems on their own, and technology will never prevent people from having to work. Perhaps, even, those are facile goals to begin with. What computers can do, however, is make solving the world’s problems a little bit easier to understand. And if we can make people understand, they are better equipped for the tasks ahead.

In that respect, today was an excellent day at school. Professor Jain held a provocative lecture on search that provided me with new insight into ontologies, and Marvin Minsky held another on intelligent machines that provided a suitable complement in understanding the proper way to analze data in a system. It turns out that in both cases the proper way to handle the organization and analysis of information is to handle it several ways. Having multiple representations of the same set of data better equips us to understand how to solve our problems.

Miller’s magic number comes to mind as a starting point... but it's already late and I have to stop telling myself stories to put my weary head to rest.

P.S. I am converting a swath of Java to C# at work currently, and I have to say it is an excellent method of re-learning both languages in thier intricacies. I had totally forgotten about static constructors.

Tuesday, May 16, 2006

A Short slightly drubken rant.

Cable companies should wake up from thier daze and get into online gaming, dammit. They have a box in the living room, a wireless remote controller, and the ability to serve up content on a subscription basis, and they're letting more traditionally gaming oriented companies like Microsoft or Nintendo attach thier own boxes to the cable feed and own the market.

You already have a goddamned box there! Augh!

Thursday, May 04, 2006

It’s all about the Benjamins

As I gain insight into the sociological aspects of computation, I’m realizing that success, for the new heavies in web technology, will rest on their ability to enable users not to express themselves, but to realize themselves through expression.

Any technology that leverages users as an integral part of content generation or organization is literally all about the Benjamins, such as Benjamin Kim. That said, what do I mean by enabling users to realize themselves through expression? I suppose I mean that when creating any system that leverages the power of an active user base, companies should focus on not only generating content but also generating realization and recognition for those generating content.

Part of the joy of blogging is that I get to put myself on display to the world, so that whoever is paying attention to my little soapbox can ridicule me or raise on me on their shoulders. While the majority of Web 2.0 companies rely upon ability of users to editorialize in some form or another, whether via tagging, reviewing, or submitting videos of their cats, it appears that the focus is largely on the content, rather than the users generating that content.

I think that Web 2.0 companies should devote more attention to content generators. We’re all attention whores, anyway. Take advantage of it. Sites such as Digg or YouTube should put top content creators on the front page, in addition to providing more tools to measure one’s status and appearance in the community. Not only would these changes emphasize the communal nature of the system, they might result in attracting greater numbers of content generators and an overall increase in quality of content as people become more involved in and get greater satisfaction from the system of contribution.

(Stepping off of soapbox now)

Tuesday, May 02, 2006

Six of one, half of something useful on the other

I’m a little unimpressed with Nullable types in C# 2.0. It is certainly advantageous and time saving to have the ability to treat any value type in C# as if it were a reference type while simultaneously retaining the ability to keep it on the stack. It would be more advantageous, however, if at run time I had the ability to tell if the newly Nullable variable was declared Nullable.

I don’t because of the manner in which Nullable types were implemented. Take the following code, for instance:
Nullable<int> meaningOfLife = 42;
bool isNullableInt = meaningOfLife is Nullable<int>; //true
bool isInt = meaningOfLife is int; // true
Alternately, I can rewrite it as such:
int meaningOfLife = 32;
bool isNullableInt = meaningOfLife is Nullable<int>; // true
bool isInt = meaningOfLife is int; // true
Nullable<int> and int look the same at runtime, and there is no way to tell which of the two a variable was declared as if you did not already know beforehand. The issue here is that I can imagine at least a few cases where I would want to be able to tell if a value type variable was declared Nullable. There must have been some other way to implement this that would have granted me this functionality.

Also, a personal shout out to Stephen Colbert. Lincolnish, indeeed.