Category Archives: Ideas

More CSS

CSS is very prone to overspecification, and though I do write CSS, I find the notion of a “class” that has a background color of black, 5 pixel margins, and blue links being distinct from a class that has a background color of black, 6 pixel margins, and blue links completely at odds with the object oriented paradigm. Yes, we can make it one class and override on each individual ID, but that’s klutzy. Surely there must be a better way.

One thing I’d love to be able to do is define my own elements, inheriting from a base element and automatically applying CSS (and adding HTML) to create customized functionality. For example, I have a list of checkboxes on HireGeeks. I should simply be able to define the tag “checklist” or something and have the browser interpret that as “a list with checkboxes and this default styling”. How would one go about introducing such a standard anyway? It’s an idea that should be adopted, but short of making my own browser, I don’t see any way of introducing it to the community. It’s not as if W3C would listen (I wonder how Tim Berners-Lee would have done in such a regulated environment; probably not too well). Maybe XSLT? Or parse it on the server side?

Or does a standard exist for this already? I thought that was what XForms was supposed to be, but looking at the W3C’s page on it, I’m greeted with:

“The Forms working group is chartered by the W3C to develop the next generation of forms technology for the world wide web. The mission is to address the patterns of intricacy, dynamism, multi-modality, and device independence that have become prevalent in Web Forms Applications around the world. The technical reports of this working group have the root name XForms due to the use of XML to express the vocabulary of the forms technology developed by the working group.”

Well, uh… thanks, I guess. Wow, I can’t wait to “address the patterns of intricacy, dynamism, multi-modality and device independence!” in my web pages! So how do I use it? Is it supported by common browsers? What exactly does it do? Of course, that information is absent. Why does everyone do this? Is this the logical outcome of a society that values form so completely over function? One that mistakes sesquipedalianism (my favorite word in the English language, meaning “the attitude of using long words”) for insight?

Coupled with the mess that W3C has made of XHTML, their position as a gatekeeper of web standards, their abuse of this position by neglecting individual contributors (unless you run a business, you’re invisible to them, however good or even popular your ideas may be), and their general failure to solve common problems plaguing web developers today, I think the time has long passed where the W3C should have been dismantled, to be replaced by a community-based model (or even a grassroots one, as the web began in). Since the majority of web developers are either self-employed or belong to small firms, W3C is causing nothing less than the stagnation of web development with this attitude. Even worse, the companies that have the most influence on the panel (read: Microsoft) have a history of screwing things up (read: IE 6).

Searching for page attributes

A completely obvious idea that I should have thought of earlier, but so should the search engines.

An advanced search should allow querying on presentational properties of particular pages. For example, I want to search for portfolio sites with black backgrounds. You can search for “#000000”, but since CSS files are not indexed, this only shows pages that contain that particular markup – and most good web designers put that sort of thing in a CSS file nowadays.

This is just one example. I could want to search for pages with a certain layout, with certain placement of images, etc. I can’t do any of that with current search engines.

It's not a Cave; it's a Mountain

Plato’s allegory of the cave is appropriate for the ideas that Plato was trying to present, but I think he fails to distinguish between different layers of meaning. I think using a mountain would perhaps be clearer. For example, let’s say a cellphone rings and begins to play Mozart’s Sonata in C Major. In Plato’s terms, there is one Form for the Sonata in C Major (despite being a construct on the part of Mozart, but whether constructs can be Platonic realizations is a separate philosophical question), and that this ringtone is just an example of it. However, the ringtone isn’t just Mozart’s Sonata in C Major: it’s also a cellphone ringtone, a series of pitches, a piece of synthesized music, a particular type of wave propagating through space, a movement of air causing bones in the ear to vibrate, and a series of nervous signals between the ear and the brain, among many other things. So either it’s a realization of many manifestations of one Form, or it’s a realization of multiple Forms. Consider the first choice: if these were all manifestations of Mozart’s Sonata in C Major, what about printed sheet music? Surely the appropriate sheet music is also a manifestation of Mozart’s Sonata in C Major, and yet it is not a piece of synthesized music or a sound wave propagating through space. Therefore, these properties are not intrinsic to the Form of Mozart’s Sonata in C Major, and may be considered the Form of a cellphone ringtone, or perhaps of aural music itself. In object-oriented terms, this piece inherits from at least two classes (doubtless more). So how can we prioritize these? Well, since Plato’s philosophy strove towards a universal Good in the realm of the abstract, it would make sense to prioritize them according to their generality, with the Forms themselves being the most general of all concepts which are expressed. Thus we have a mountain, rather than a cave – “Gradus ad Parnassum” (steps to Parnassus), in a sense.

"Window Time" for waking events influencing dreams?

I’ve noticed that there appears to be a “window” period about 2 hours before going to sleep (lasting maybe 15 minutes or so) wherein one’s dreams are influenced by waking events. Yesterday, one of my friends called me at about this time, and sure enough, he was in my dream (I owed him a dog or something and he came to collect?)

Again I’ve noticed this on Feb. 13, 2008. I was viewing the Wikipedia page on Grizzly Bears about an hour and 45 minutes before going to sleep, and sure enough, I dreamed I was being chased by grizzlies.

The Problem of Evil

One possible resolution to the “problem of evil” (the paradoxical existence of evil in a world ruled by an omnibenevolent, omnipotent, and omniscient God) might be a reinterpretation of “omnipotence”. Simply, anything might be possible… but it might be hard.

More Evolutionary Musings

While discussing possible evolutionary reasons for the existence of lactose intolerance, I realized that certain evolutionary traits in offspring may result in benefits that propagate back to ancestors, rather than being useful to the actual organisms in which they are present. For example, lactose intolerance evolving to prevent breastfeeding during subsequent pregnancy of the mother.

I found this idea fascinating.

Another interesting idea regarding cancer

Carcinoid tumors are malignant tumors (usually of the neuroendocrine system) that only rarely metastasize. Because they do not readily spread, many patients with them have good prognoses, either with surgical treatment or even in absence of treatment, despite the fact that chemotherapy is not usually effective on these tumors.

The intriguing question is why. Neuroendocrine tumors as a class tend to follow the pattern of poor response to chemotherapy and relative indolence, despite what appears to be going on histologically. If we could figure out the conditions that favor such a pattern, we could perhaps design more effective treatments for other types of malignancies as well.

Moon Song

I just did something very interesting as I was writing part of Moon Song, a composition I’ve been procrastinating for far too long on: as I wrote a fully harmonized theme for a section of the song (so the small training I received wasn’t useless after all!), I thought to insert a rather long introductory motif I had used on a whim.

It fit perfectly. No parallel intervals or anything, and it sounded great. Essentially, I had unconsciously (or accidentally, but that’s unlikely) written a counter-melody in the opening to the theme I was about to introduce (or wrote the theme around the opening) and then subconsciously knew exactly where to insert it. There are three remarkable things about this:

a. I’m working with about six harmonic voices in this particular measure.
b. I have no training in counterpoint.
c. This theme is about 10 measures long (at a very slow tempo, meaning this is nearly a minute of music).

Thus, I’m very surprised that this works. Unfortunately, this sets a very high standard for the rest of the piece, and I am now going to need to either put a lot more time into it or end it quickly 🙂

It is good to see progress.

Multiplexing displays on one piece of hardware

Now here’s an interesting idea, which struck me when I observed the reflection of my cursor in the bevel of my display: By combining two polarized sources of light on a display, it is possible for one display to be directly viewable on the screen, and another to be viewable in a reflection (Brewster angles). Arrange the mirrors properly, and we have a method of multiplexing a fully independent second display on one piece of hardware.