Danish Cartoon Follow-Up

I was going to do a follow-up post on the Danish cartoon situation, but didn’t get to it yet. Instead, I replied to roman’s post on the subject, and realized it was the length of a post on this site anyway. He asked:

did maheen ever give you a reply?

i know that their protest went ahead anyway, and i heard she started tearing when she addressed the faithful assembled in front of her.

i also heard, admittedly from one of the islamic center kids, that the way the objectivist club went about discussing their cartoons was pretty racist…

but i’d be interested to know how she replied.

To answer his question, no, Maheen never replied to that e-mail. If she does, I’d be glad to post it on my site.

I saw the reporting on the protest, but as you probably know, the Objectivist club was also asked to not display the cartoons by the administration. They displayed blank panels instead, and so from what I heard a lot of the discussion of free speech issues got drowned out by the anger over the administration’s blanket censorship. Unfortunately, the administration has every right to censor an event held on its campus, it being a private university, so there isn’t much to say there.

If they did discuss the cartoons in a racist way, then shame on them. From WSN, I heard that the basic gist was that a couple of the Ayn Randian intellectuals claimed that all religions are basically bogus, and that they ascribe to the only true religion, which they called “rationality”, or somesuch. Of course, this is utter tripe that you can feed to the dogs — “Objectivism” hardly even attempts to answer the existential questions that religions address, so that any form of atheism arising from it is hardly stronger than any fundamentally faith-based belief system.

My main issue in that e-mail and over this situation in general is a principle. The basic principle is that you can’t just claim that you have a right to see something censored because it offends your religion. I think that the freedom of information flow — no matter what kind of information that is — definitely trumps maintaining tolerance for religious sensibilities. If someone publishes things that can be taken as offensive by Christians, Muslims, Buddhists or Hindus, I don’t want the precedent set that we, as a society, will simply remove that text from our literature. It’s true that here, with the cartoons, we have something that is very clearly anti-Islam and racist, but where do we stop in the protection we grant to speech we don’t like? What if the next time, it is a cartoon portraying Jesus as blinding his followers, or an evolutionary analysis of religion? We have to protect the speech we don’t like, so that the canon of “acceptable things to publish” doesn’t shrink everyday.

Calculus Made Easy

I am taking “remedial” Calculus II alongside Numerical Computing this semester. My Calc course is “remedial” in that I haven’t seen any Math over the reals for about 4 years (took Discrete Math and Linear Algebra, which both focus on integers) and this semester I am overloading on real numbers (and even complex numbers) just when I had forgotten they even existed 🙂

That said, after spending some time in the humanities (where writing quality is high) and much time in Computer Science (where literacy is defined as being able to read code), coming back to traditional math textbooks has been quite a culture shock. They are so horribly written, it really blows my mind.

So, in response to my horrible Calculus II textbook (published at NYU only for NYU classes, this book features minimal explanation and the maximum amount of notation), I have been using it only for the homework problems and using instead James Stewart’s excellent book, Calculus: Early Transcendentals for rigorous proofs of concepts (because Stewart really does present them nicely), and the lighter but infinitely more illuminating Calculus Made Easy, by Silvanus Thompson.

A somewhat controversial book, Calculus Made Easy chooses to skip the notation-laden explanations of Calculus concepts provided by typical textbooks, and opts instead of a clear, textual elucidation of core concepts in the context of their applications. The philosophy of the book is well-described by this excerpt from the Epilogue.

I think this is wonderful writing, however damning it may be:

It may be confidently assumed that when this tractate Calculus Made Easy falls into the hands of the professional mathematicians, they will (if not too lazy) rise up as one man, and damn it as being a thoroughly bad book. Of that there can be, from their point of view, no possible manner of doubt whatever. It commits several most grievous and deplorable errors.

First, it shows how ridiculously easy most of the operations of the calculus really are.

Secondly, it gives away so many trade secrets. By showing you that what one fool can do, other fools can do also, it lets you see that these mathematical swells, who pride themselves on having mastered such an awfully difficult subject as the calculus, have no such great reason to be puffed up. They like you to think how terribly difficult it is, and don’t want that superstition to be rudely dissipated.

Thirdly, among the dreadful things they will say about “So Easy” is this: that there is an utter failure on the part of the author to demonstrate with rigid and satisfactory completeness the validity of sundry methods which he has presented in simple fashion, and has even dared to use in solving problems! But why should he not? You don’t forbid the use of a watch to every person who does not know how to make one? You don’t object to the musician playing on a violin that he has not himself constructed. You don’t teach the rules of syntax to children until they have already become fluent in the use of speech. It would be equally absurd to require general rigid demonstrations to be expounded to beginners of the calculus.

One thing will the professed mathematicians say about this thoroughly bad and vicious book: that the reason why it is so easy is because the author has left out all the things that are really difficult. And the ghastly fact about this accusation is that — it is true! That is, indeed, why the book has been written — written for the legion of innocents who have hitherto been deterred from acquiring elements of the calculus by the stupid way in which its teaching is almost always presented.

I should note that my Calculus professor is actually quite good, and provides very nice explanations of complex topics, usually beginning with an elucidation of the general idea, and then going on to the formalities. But our assigned textbook is not nearly as clear, and many professors I’ve had in the past have lived entirely inside their constructed notational apparatus.

This reminds me of an old joke I heard awhile back:

A math professor begins his lecture by writing on the blackboard. He only pauses for brief moments of notational explanation, but continues writing and writing, one symbol after the other, for thirty minutes on end. He fills up six blackboards full of derivation, algebraic manipulation, and what have you. At the end, he smiles and draws the open box, indicating the completion of the proof. “Is that clear?” the professor asks. Blank stares all around.

At that point, the professor stops himself. “Oh, no, I believe I’ve made a mistake.” He then looks at the six boards of writing, and begins pointing at certain sections while nodding his head, clearly doing calculations internally. He then paces back and forth across the front of the classroom, with his head bent down and his fist to his chin. For five full minutes, he paces and nods, thinking about the proof just presented.

Then he stops pacing, looks at the students, and says, “Ah, yes, yes. It’s clear.”

Here’s an interesting read, by the way. Came as especially relevant to me, as I “rediscover” math for math’s sake.

Using C++ instead of GObject/C

There’s a great post on why to use C++ instead of GObject/C over at BMP CodeBlog, the blog for developers of beep media player (my preferred MP3 player on Linux). I have to agree with most of what the author says. Using GObject/C is quite cumbersome, I’m almost surprised so many GTK+ developers do it. Especially considering the fact that C++ doesn’t incur overhead unless it has to, nicely expressed here:

The ultimate feature is that all of these are optional. We incur no overhead when we do not use a language feature (with the exception of… exceptions). In fact, cxx_conversion is currently in perfectly valid C++ and uses none of the features or C++ libraries mentioned above yet. The C++ language follows the philosophy of ‘pay for you use’ (better rephrased as ‘don’t pay for what you don’t use’). As it is right now, cxx_conversion is no less (or more) CPU or memory efficient than its C original.

GTKMM keeps getting more and more mature, so now that I’m finally learning C++ properly, I think moving over to GTKMM will be quite nice for a future project that needs a cross-platform UI.

Danish cartoon display at NYU campus

I received a “call to action” e-mail in my NYU mailbox to protest an intellectual discussion sponsored by the Objectivist Club at NYU on the Danish cartoons and the free speech issues surrounding it. I couldn’t believe people would go so off the Politically Correct deep-end as to want to protest that. So I wrote the head of the Islamic society an e-mail.

Dear Maheen,

I don’t really like the Objectivist Club, as (in my opinion, and they may consider _this_ hate speech) it is a bunch of Ayn Rand sycophants who think that the whole world would be better if governments just gave in to business interests in the name of “Free Markets” and economic neoliberalism. So don’t think I’m defending this meeting from their point of view.

And I agree with you that the Danish cartoons are racist, and in bad taste.

But guess what, no one is posting these cartoons on your front door. It is clear to me the Objectivist club is displaying them in order to discuss them and to discuss the free speech issues surrounding them, not in order to engage in racism. Your protest of this display is a form of censorship. In fact, here is a description of the event from their website:

“Why the eruption of violence and the issuance of death threats make completely irrelevant the question of whether the cartoons are in bad taste. Why the idea that freedom of the press must be ‘coupled with press responsibility’ means that free speech is not a right, but a fleeting permission. Why every Western newspaper and media outlet should have immediately re-published or shown the cartoons in solidarity with the cartoonists. Why the cowardly and appeasing response of many Western governments–including our own–will only invite further aggression. Other panelists will present their own views.”

If I held a philosopher club meeting about Mein Kampf, I would hope that people could understand that one could read that book without being a Nazi, or supporting Hitler’s racism, etc. The same rule applies here. This was a form of speech made by some cartoonist. It’s speech you don’t like — and if the cartoonist published it in your face, you would call it hate speech, and that’s fine, and you could be angry with him. But if a group of students and professors want to discuss the cartoons in a private room in Kimmel Center, not in a meeting forced upon the public, but in a meeting OPEN to the public, then that is fine.

Your protesting this display is also your right, but when it comes to justifications, you are ultimately protesting what? An intellectual analysis of images you abhor. You are not protesting racism, no matter how much you convince yourself that you are.

Free speech is _not_ absolute. I agree with that. The Supreme Court has shown that time and time again there is an interest in regulating some forms of speech (i.e. do a Google search on “Supreme Court” and “fighing words”). But in this case, free speech does trump your own hatred of these images, for sure. No public interest is served by not allowing this meeting to take place. In fact, censoring it is so irrational (as it _is_ a contribution to the marketplace of ideas envisioned by the US Constitution), that _it_, the protest, should be abhored.

I suggest you seriously consider not protesting this meeting, and withdrawing your “call to action”. It could ultimately damage your credibility, and be seen as a purely “politically correct” move, so common in colleges these days.

Sincerely,
A left-wing armchair activist,
Andrew Montalenti

Bad Eye Candy

I recently installed X.Org 7 with Exa, Composite and the famed xcompmgr on my Linux desktop. This didn’t enable any fancy special effects for my lowly built-in via video chipset. However, it did finally do away with “rip and tear” on my desktop. That is, when I drag a window over another one, it just smoothly glides across. When I switch workspace, it’s instant — I don’t see as much “widget redrawing.”

More and more advances are going to inevitably lead to Linux “eye candy.” Here’s a great post on Slashdot regarding good versus bad eye candy.

Here’s a great example: pull-down menus in Mac OS X vs the same in Windows XP. On the Mac, pulldowns appear instantly, and fade away once something is selected; this is correct behaviour, as you asked for a menu – there should be no delay. Fading away is fine because the selection has been made, and you have moved on. In XP, the menus fade up, and vanish instantly – totally backwards. That is bad eye candy.

You know, I never thought about that, but I always turned off menu fading on Windows XP because I could “feel” the delay, even on my Nvidia card on my desktop. I never realized how much more sense it would make to display the menu instantly, and fade it away upon selection.

I hope this conservative approach is taken by Linux devs as they implement eye candy. Functional and beautiful, please.

Apple and Google: Can We Just Get Over Ourselves?

So, this is a personal gripe of mine.

In the last, oh, two years or so, it has become increasingly cool to be hip to technology, and, more importantly perhaps, to engage in rampant punditry on the cultural effects of two companies in particular: Google and Apple.

In my school newspaper, Washington Square News, you will find the Opinions editor writing nearly-weekly columns on technology topics. But, what you’ll find, is that Google and Apple get more mentions then basically any other technology company out there. iPods, apparently, changed our culture in shattering ways, because now, instead of people talking to each other on the subway, they listen to their music collection. And web search and web e-mail (which existed before Google, and will exist in various new forms from now onward) is apparently so darn cool when the logo is rainbow colored, but not when its name rhymes with a parting phrase in Spanish.

Don’t get me wrong: if I consider myself a technology afficionado, then Google and Apple technologies are pretty highly rated, in my book. But can we just get over this obsession? I am speaking mainly to that strange cloud known as “the technology press,” but even to all these new technocratic snobs who spend all day talking about their Flikr albums, podcasts and “Web 2.0” calendaring.

Listen, I’ve been around a long time, and others have been along longer. Can we recognize computer products for what they have become? Commodotized fads, just like basically all other products. Technology makes a statement. Some people use GMail and iPods. These people are cool. Other people, like me, prefer no MP3 player, because I think what’s said in New York City is much more valuable than listening to my music.

And guess what? I still have my e-mail collection on a real, rich client, because I think the one I use is more powerful than Gmail will ever be.

Frankly, if you’re going to comment on culture, take a step outside of the Google/Apple obsession. Talk about things that matter. You’re obsessing over the moves of multi-billion dollar publicly traded companies. Companies that have to make a profit, and come up with a bottom line. Your obsession with them only exists because they want it to exist, because their marketers are smart cookies, and you are their pawns.

Just realize that there are lots of important things to talk about, and web-based e-mail and MP3 players just doesn’t make any reasonable list.

Can I also do what a lot of these technology pundits do, and snag up my own law? Here it is, Andrew’s Law: if you aren’t a coder or engineer, you can’t waste all your time commenting on software or technology products. There, that law being in effect, 90% of the web’s blogs should crawl to a dead halt.

UNIX Zen

You know you’re in UNIX zen when you are looking at pictures for an apartment you are interested in, and you think to yourself, “Man, I’d really just like to download all 8 photos of this apartment at once.” So you realize they end in numbers 1-8, and you open up a terminal and write:

for i in `seq 1 8`; do 
  wget http://www.livinginbaires.com/imgs/departamentos/46-$i.jpg; 
done

And that’s it, you hit enter and vroooooom! You see progress bars fly across your terminal as wget snappily fetches your photos, and suddenly, all eight photos are downloaded, and you get back to work. That’s empowering.

I don’t often quote Bill Gates, but…

Early in the history of Microsoft, our view was, if you were very smart then you could learn how to manage people, how to do business, how to do marketing.

It turns out that talent isn’t that fungible. Somebody who is great at doing software in many ways is often not the right person to manage people. I think the thing to recognize is these different kinds of ability, and to think through, as you build a team, “How do you get the right mix?”

Although I probably wouldn’t have used the word “fungible” myself, I agree with Bill’s sentiment. Programmers are not developers. And developers are not managers. But, I would add something else to this:

A manager who doesn’t know what it’s like to be a programmer or a developer cannot be a manager of programmers or developers! Management is a special combination of leadership ability and empathy. Your manager needs to be able to stick his neck out for you, because he knows you. And he needs to be able to provide wisdom — not because he’s smarter, or because he’s more mature, but because that’s now his role. Managers are the guys who protect you from everyone not on your team, who make sure you have everything you need to innovate, and who provide wisdom because their job description includes, “must be able to dispense timely wisdom at all the critical moments.”

Management also includes vision. Some software developers become managers and their vision alone leads their team. Where that kind of energy isn’t possible, lots of empathy, planning, and wisdom are necessary.

Getting the troops mobilized

I gave a talk last Tuesday called “Open Source Development: A Rapid Introduction.”

Here’s the blurb I sent out when I advertised the talk:

Have you wanted to work on open source projects, but just don’t know how to get started? This talk will provide the basics you need to start working on open source software the next time you sit down at your computer.

In particular, this talk will cover:

(1) A brief overview of open source development in the industry and press.

(2) The UNIX development platform. A brief and whimsical overview of the UNIX shell, its surrounding tools, and the power of shell scripting. (Useful to anyone wanting to learn more about UNIX tools.) Learn how to do in a few lines of shell script what you only thought was possible with a big, extravagant hundred- or thousand- line program, and learn why so many of the world’s best hackers hack on a *nix system.

(3) The basics you need in order to hack on open source project: how mailing lists, wikis, bugzillas, source code revision systems all come together to form an organic code management process, and how to get started using those tools and others to learn about a project and what parts need development work done. This will include a brief introduction to CVS.

(4) The last part of the talk will involve actually watching open source development in action. In particular, the speaker will checkout some code from a source repository, make a change to it, create a patchfile from that change, then track down the mailing list or bugzilla related to the project and submit the patch to the maintainer. You will actually get to see open source “in action,” and will want to do it right when you get home!

If you’re a Windows or Mac OS developer who has always wanted to learn more about *nix systems, or if you’re a developer who wants to either take his own project open source or work on existing open source projects, this talk is for you.

Of course, if you’re someone who is just interested in the concept of open source, this talk will give you an inside look at “how things get done” in this community.

This talk was at least partially inspired by Nat Friedman’s blog post, check it out here:

“How to be a Hacker”

The talk was a general success, I think. About 12 people attended. You can see the talk in PDF or ODP formats, and you can also download the patches I wrote specifically for the talk to illustrate “open source development in action.” The patches are pretty stupid, but do illustrate the point, at least. Plus, each of the three patches served one of my own goals (hacking my CPU frequency scaler, fixing a gnome-terminal bug, and hacking galeon “for fun”), so that’s that. I think it’d be cool to give this talk again (maybe a little refined to include less basic UNIX tools and more hacking stuff) at a later date. We’ll see.