Archive - Jan 2008

Date

Math Slut

in

Some girls only talk to me when they need me for math. What do they think I am? A math slut?

— Chao Xu

Troll in IRC and MILF

Happened in #not-math of Freenode, removed some lines for consistence of thoughts. I have to learn how to spot trolls

Libster_: dude you guys know of Danica McKellar?
Libster_: I want to sex her so bad
HiLander: is she the nascar chick or is she the chick from wonder years who's now less attractive?
Libster_: Incidentally you guys should take this quiz to find out whether you hide your girly smarts around cute boys in your homeroom class at middle school http://www.mathdoesntsuck.com/quiz.php
Libster_: She's the extremely attractive chick from Wonder Years who's a genius mathematician
Libster_: Also she graduated summa cum laude from UCLA
Mgccl: Libster_: do you have some kind of math fetish...
Libster_: Mgccl, I thought that was pretty obvious.
Mgccl: in that case... my I suggest Stephen Wolfram
Mgccl: *may
Libster_: yeah he's a MILF
Libster_: mathematician I'd like to fuck
Mgccl: .
HiLander: even trolls need love

Join #not-math, many witty math related discussion and occasionally people with disturbing math fetish.

O'Reilly maker

O'Reilly maker. No descriptions, just look at the images I created and you get the idea.

Some other ones:
Women's Psychology
Facebook

My first Drupal module, Asymptote filter

My first Drupal module is complete! The Asymptote Filter is in it's dev stage, but it's perfectly usable for Drupal 5. It read everything between the <asy> tags and use Asymptote to convert it into eps and then ghostscript convert it into png. Don't use it on production server, the most important of the module, the security filter, does not exist.
I wrote it so I don't have to write a extension for DruTex. DruTex is powerful, and the trade off the the complexity of the code. To port DruTex to Drupal 6 or create new features are really difficult task. So I chose to write my own(both Drupal 5 and 6 version), and scatter them into single modules(for now, Asymptote only) so people can activate or remove. In the future, I will also create plugin for FlexiFilter, but for performance sake, a hard coded module is faster than a module interpreted by FlexiFilter.
I still recommend DruTex, some of the features I will never intend to create for my filters. LaTeX2HTML, HTML2LaTeX and remotely render LaTeX does not fit my need. Study
Download and try it out :)

The taxonomy systems and its problems

In this informational world, it becomes more and more difficult to classify data, till now, many ways have been suggested, each one of them have some flaws.

Trees
Tree is a classic taxonomy system. It's widely used in classifying living organisms, file systems and most paper's organizations. Each parent term can have a few or no child terms. Each child term can have only one direct parent term.
Pros
1. easy to navigate
2. easy to manage
Problems
The importance of each term can be understand differently. For example, should equilateral triangle be equilateral polygon->triangle or should it be triangle->equilateral.
Easy navigation require some amount of knowledge about how item are categorized.

Multiple inheritance
It's the same as the tree system, but each term can have more than one direct parent term. The equilateral triangle can be classified as the child term of equilateral polygon and triangle.
Pros
1. easy to navigate
2. easy to manage, more difficult than tree
Problems
Since equilateral triangle is belongs to both equilateral polygon and triangle, and they are both belong to polygon. Should equilateral polygon and triangle classified as the same kind of item? It's sure that triangle, pentagon and hexagon are more related than equilateral polygon's relationship to triangle. Should a new parent created just to differ these two apart? Like "relative length of the polygon side" and "amount of sides".

Naive Tagging
Pros
1. Easy to tag
2. Easy to navigate when there is a smart system
3. Social tagging power
Problems
No sense of parent and child. So someone can tag equilateral triangle "math", "geometry" and "polygon". But we know polygon is part of geometry, which is part of math. but if someone searches "math" and it only got tagged by "geometry", it will not show up. To make an item fully accessible, an item have to be tagged with a tag and all it's parent tags.
Few word can have the same meaning. Different user would tag it differently and result search for one, the other don't show up. For example "Triangle" and "Polygon with 3 sides" are the identical tag by the definition of triangle, but they are different tags.
A word can mean different things. Like "Python" can mean a programming language or a special group of snakes. Search python as the language, turns out a lot of snakes are not intended.

Finally, after Drupal's Taxonomy system come out, I saw the best categorizing system, yet.
Tagging with multiple inheritance and synonym support + more than one vocabularies
The most powerful taxonomy system Drupal can offer is Tagging with multiple inheritance synonym support. And as a extra, "related tags" field. It's not formal to use related tags, because there is no standard to define what the relation is between the tags and how to act for different relations.
Vocabularies are complete different set of term, they have have no relationship with another set of vocabularies. So they can have the same term("python") but they are used differently(Vocabulary of programming and vocabulary of snakes). Basically, it's the same as categorizing one set of terms into one single parent, except they are defined not to have any relation with another set of terms.
Pros
1. Really powerful at classifying data
Problems
Beside the huge difficulty of constant adding synonyms for a tag, format all the possible inheritance, and a lot of database queries. This system still can't fix the multi meaning word problem, but if the taxonomy managers are careful, it will not happen. The basic rule: Never let a term be ambiguous. For example, instead of using "Python" for both the snake and programming language, do "Python(Programming Language)" and "Python(snake)". This problem does not exist in tree based system. If anyone can think of a better suggestion, please let me know :)
Also, a few category problem seems impossible unless one knows how to perfectly define vocabularies. For a personal example, let's say there is are two vocabularies, time and space. An item appeared in China at 2001, and also appeared in US at 2003. So this item will be tagged:
Space: US, China
Time: 2001, 2003
but, the space are not directly associated with the time, one with no knowledge about the item can inferred the item also appeared in China at 2003, a wrong statement. When I was the Space and Time vocabularies, I found it makes perfect sense, user can browse by time or by space. until I finally meet a problem like this and have to consider redefine the vocabularies. The only solution requires the removal of combine 2 vocabularies. Create terms like "China 2001" inherit from "2001" and "China". If we think about it. For many cases, there can be only 1 term directly inherits 2 term, those times I like to think it as a synonym of 2 term combined. The disadvantage will be a huge amount of database usage, say, there are 200+ countries and human have recorded history for more than 5000 years. If the original database contain like 5000 terms now, it should be over million terms.

Future...
I want to hear suggestions on how these problems can be solved. because I have no idea.

Honey Pot that kill bots