The First Church of Free Speech

Because other churches have commandments prohibiting this kind of thing.

11 May, 2006

Been gone a while

Filed under: News, Politics and Religion, Life and Things Like It, Sheep-Skin Rants — Damien Sorresso @ 7:45 pm

As you may have noticed (if you’re one of the many … ones who read this), I’ve been inactive for the past 6 weeks or so. The astute observer knows that I am a college student, and the master logician will deduce that I have been busy with finals and various projects. They’re both right. I’ve been swamped lately, but as of about 9:30 this morning, I’m done with classes. That’s right, I took my last final ever at 7-fucking-50 in the morning. Whoever scheduled that shit can blow me. I don’t know what it is with the computer science department and getting the shaft on final exam schedules, but whatever geniuses hand down these schedules from on-high should try going through them. Graduating seniors should get to take all their exams in the afternoon. Period. Stick the freshmen with this early-morning crap.

In my absence from the blogosphere (relatively unnoticed as it was), I have certainly not been unobservant of the political scene. Both the astute observer and master logician will know what I’m talking about. And that, of course, is Stephen Colbert’s brilliant performance at the White House Press Correspondents’ Dinner.

I’ve been a fan of Colbert since his early days as a lowly Daily Show correspondent. To be honest, I expected exactly what I saw and what came afterward. Colbert gave an absolutely skewering speech to the very audience he lampoons four nights a week. And of course, their reaction was lukewarm at best. The president was very obviously distraught at having the embodiment of scathing criticism not relegated to a “free speech zone”, but no more than 3 meters to his left. The audience themselves, with the exceptions of Helen Thomas and Justice Scalia (who looked like he was about to explode from laughter), were subject to being called a bunch of pussies whose only duty is to transcribe the president’s decisions. (And also to spell-check those transcriptions.)

So in short, virtually every person in the room was against him. It’s not at all dissimilar to what happened to Jon Stewart when he hosted the Oscars. Stewart lampooned Hollywood’s arrogant back-slapping fest and got a pretty chilly response. So what’s the common element? The pride and arrogance of the people who wanted them to do these gigs. Stewart fast became a Hollywood golden boy for sticking it to the Bush administration and being single-handedly responsible for blowing Crossfire out of the water and off the air. So they wanted him to host the Oscars, almost surely with the expectation that he’d spend all his time making fun of George W. Bush. They obviously didn’t learn from his appearance on Crossfire. As Stewart said, he’s not their monkey.

Colbert had almost the same deal. The press loved how he lambasted Bill O’Reilly every night, so they thought, “Hey this guy should give a speech!” What did they figure he’d do? Tone it down? Did they watch his show? Colbert showed up in-character, doing the bits that won him the recognition and respect. Colbert’s not the a monkey either. He’s got these things called “balls”. You know, those things the Bush administration severed from between the press’ legs in the name of fighting the terrorists.

So what was the reaction to Colbert’s speech? Outrage at his audacity? Cheers from the supposedly liberal media for making fun of the president to his face? No, try dead silence. All the media could talk about was how hilarious Bush was, side-by-side with an impersonator. Wow, he made fun of his own idiotic speech patterns. Again. The press refused to acknowledge Colbert’s speech in anything but passing. Either they were so incensed at his comments as to their cowardice, or they’re just as castrated as he said they were by refusing to write about something which might upset our precious leader in a time of war.

But if blogs have proven anything, it’s that the press can’t ignore what the people want to talk about. Colbert’s speech was a hugely popular download from places like YouTube and BitTorrent. C-SPAN had YouTube pull the video because they are going to make a DVD out of it. Yes, that’s right. C-SPAN. Making a DVD. Of something that they aired. Everyone and his brother who still believed in free speech was busy talking about Colbert. Like him or not, what he did was too significant to be ignored.

Now, two weeks later, people are still talking. But Colbert has just gone on with his show, business as usual. I’ve always pegged Colbert as the type of guy who’s fairly humble and doesn’t recognize his own significance. Anyone who’s that over-the-top when portraying an arrogance asshole simply has to be able to see it from a rational point of view.

And that’s his talent. He makes people uncomfortable with their own rhetoric. When the social troglodytes in the Republican Party see him bombastically and enthusiastically parroting their talking points, they become genuinely concerned. Colbert did an interview with a congressman from George, and the topic of gay marriage came up. Colbert mentioned that the congressman was against gay marriage and asked if he was against gay driving. The congressman responded by saying that he thinks every American should have the right to drive. (Even though driving is a privilege and not a right, unlike marriage, which could be argued is a part of Americans’ right to pursue happiness.) Colbert responded by saying that he doesn’t want homosexuals “gaying up the roads”.

The guy just kind of stared uncomfortably. But it’s not restricted to conservatives. Anyone who goes on the show gets an earful of either their own bullshit or roasted at the hands of one of the best comedic interviewers to come along in a decade. In any case, the man’s got balls, just like he promised when he was first plugging his show back in November. Colbert doesn’t realize it, but he nailed Bush’s robes to the floor. And the Emperor walked off with no clothes.

4 January, 2006

My Report Card

Filed under: Life and Things Like It, Sheep-Skin Rants — Damien Sorresso @ 12:56 am

Okay, the word is back on my grades. Well, it’s been back for a while. I just haven’t had time to post, what with being away from my beloved G5 and getting drunk at every conceivable opportunity.

So here are my grades.

HIS 104.04 - History Of The Middle East — A
PHY 290 - Research In Physics — A
ITK 225 - Computer Organization — B
ITK 279 - Algorithms And Data Structures — B
ITK 327 - Concepts Of Programming Languages — A
ITK 375 - Data Communications — A

Semester GPA: 3.65
Cumulative GPA: 3.01

That 3.01 is a big deal for me. My GPA has been below 3.0 since my sophomore year, when being a physics major was beating the shit out of me. After 4 semesters of bitchy work, I’ve finally dragged it up past that mark.

I’ve now got 139 credit hours to my name. And I’ve finally completed my physics minor, along with my math minor. (I’m in my fifth year; I’ve got to have something to show other than just a BSc. And I’d be damned if I was letting all those hours of physics go to waste.)

15 December, 2005

Finals are over, and I’m going to rant

Filed under: Geeky Stuff, Life and Things Like It, Sheep-Skin Rants — Damien Sorresso @ 5:32 pm

Well, I took my last final of the term yesterday. This was easily the hardest semester I’ve taken yet. (And I’ve had a semester where I took quantum mechanics and mathematical physics at the same time.) Here’s the projected outcome.

PHY290 - Research in Physics No final. Just wanted to finish up my physics minor. I helped a professor in the department parallelize a simulation of a solid-state something-or-other. Note that physics people write the worst code you can ever imagine. In Fortran.

ITK327 - Concepts of Programming Languages Pretty sure I did well on the final, although the professor is way behind in grading. Only one of the seven assignments I turned in throughout the semester has been graded. So my grade is in limbo at the moment, but I’m betting he’ll just throw in the towel and give me an A. If you’re curious as to why ML never caught on beyond academia, this course will tell you.

ITK375 - Data Communications Easiest class I’ve ever taken, and it was educational to boot. I get the sense that the professor didn’t care about tests or grades but that the department was mandating some sort of exam system. If it was up to him, he probably would’ve just lectured. Either way, anyone who didn’t get an A in that class should seriously reevaluate just how much effort he puts into his schoolwork. I aced this class without breaking a sweat.

HIS104.04 - History of the Middle East Great class. I crushed the final. I’d be shocked if I didn’t get an A.

ITK225 - Computer Organization Whoever made this a 200-level course was a dipshit. It used to be a 300-level, but I have no clue why they changed it. This was one of the most difficult, time-consuming courses I’ve ever taken. We covered everything about computer architecture, going from logic gates all the way up to assembly. Personally, I think it was entirely too much information to cover in a single class reasonably well. Everyone complained about the professor, but I thought he was a reasonable guy who just made a terrible choice of textbooks.

Computer Organization by Andrew Tanenbaum is not a textbook. It is a reference manual. Tanenbaum jumps around through different topics with no logical connection between them. On the surface, the book appears well-organized, but the sub-sections in particular are atrocious. For example, the chapter on parallelism actually delves fairly deeply into networking issues for clusters. While this information is necessary to implement a cluster, it’s not necessary at all to understand the concept of how a cluster works. Only very basic networking should have been covered, but he spent many pages on the subject.

Each of the chapters in that book almost warrants its own course. The review questions in the book are often poorly-worded and ambiguous, which led to more than a few complaints from students. For some reason, Tanenbaum finds it necessary to trade clarity for what he thinks are clever turns of phrase. I had an argument with the professor over a question which dealt with the probability of the CPU’s branch prediction being “on the right track”. I gave a perfectly justifiable probability tree model based on the information given, but it was marked wrong because the model gave the probability for a single randomly-selected instruction being a correctly-executed one rather than the probability that the CPU would have guessed all previous instructions correctly. He still wouldn’t give me points after I showed him that my model could be used to approximate the correct answer within 3 significant digits. Other students thought I was insane for having sustained the argument as long as I did. (I even typed up a 2-page justification for my answer.) All this because Tanenbaum couldn’t choose clearly choose his words.

Anyway, my grade going into the final was around a 91%. Depending on how he curves, I could walk away with an A, but the final was fairly difficult. The new stuff since the last test was a cake walk for me, but the review stuff wasn’t quite as clear in my mind as it should have been. At this point, I’m not going to sweat it if I get a B in the course. I’m just glad it’s over.

ITK279 - Algorithms and Data Structures I needed a 50% on the final to maintain a B in the course. I was surprised to find out that the minimum B was a 3.75 / 5 and not a 4 / 5. So that made my day. It was a challenging course, but I learned a lot and am satisfied with my work. The professor is very intelligent, but I sometimes think she’s a little bull-headed about her grading. Not terribly, but I think I deserved higher grades than I got on some programs.

I felt badly for all the people in the course who came in knowing only Java. The language used in the course was C++. The Java programmers coming in had absolutely no clue how to properly manage memory, and it’s not their fault. It’s the department’s for making the dumb-shit decision to change the two introductory programming courses to Java from C++. As a result, the courses which are supposed to teach fundamentals of programming never even touch on pointers.

I know a lot of people think that Java is the “new wave” and that everyone everywhere should know it, but history should have taught them by now that every “miracle” language that’s come along to replace C has fizzled out because people realize that they can’t get any actual work done without the lower-level access to memory that C provides. While it’s true a lot more applications are being written in Java these days, they’re all slow as shit, and frankly the UIs all suck. Yeah it’s great to be able to deploy on multiple platforms with one code-base, but Java merely shifts the portability problem to the virtual machine level instead of the hardware level. It’s easier to control a virtual machine, but different virtual machines on different platforms can act … differently! Java is a sloppy, interim solution to the portability problem. If machine hardware ever gets truly virtualized, as Intel is looking into doing, Java will become a miserable memory.

And did I mention that Java’s syntax is fucking ugly? The dot syntax works for one or two levels of object access, but after that it just gets unreadable. If you’re going to claim to make the successor to C, you could at least take some hints from Objective-C and Smalltalk. It amazes me that Microsoft and everyone else making these popular new development frameworks and languages have never thought to add parameter labeling to their functions. What’s more readable?

color = Color(0, 128, 32, 1);

or

color = [NSColor colorWithRed:0 Blue:128 Green:32 Alpha:1];

The former is C++ code for instantiating a new “Color” object, and the latter is Objective-C. Why Java took syntax and naming conventions from C++ is a total mystery to me. C++ naming conventions are fucking terrible. Again, what makes more sense?

value = object.getValue;

or

value = [object value];

The former is C++; the latter Objective-C. The C++ statement, in English, would be “Set value equal to get the value of object.” The Objective-C statement translates to “Set value equal to object’s value.” This is why Objective-C is called a self-documenting language. Its statements read as English more easily. It’s possible to code C++ with some Objective-C conventions, but C++ makes it difficult. Believe me, I’ve tried. I once experimented with implementing a bastardized form of parameter labeling in C++ by underscoring in the method name, like so

sortArray_InDescendingOrder(int *arr, bool descendingOrder = false)

But this gets really awkward as more parameters are introduced. And you can’t break the method call into multiple lines easily, like in Objective-C.

Also, C++ does not allow for varying constructor names. In Objective-C, the statements

color = [[NSColor alloc] initWithColor:anotherColorObject];

and

color = [[NSColor alloc] initAsBlueColor];

both initialize and return NSColor objects, yet they have totally different method names and parameters. In C++, a design like this is impossible because of the clumsy constructor implementation.

If there’s one lesson that the computer science community should learned by now, it’s that the successor to C has to be able to do everything that C can already do and more. You can’t succeed something by removing features from it. Java will never be the successor to C because it can’t do low-level memory accesses. Period. And by the way, I count being able to write a structured, non-object-oriented program as a feature. Object-oriented programming is nice, but Java forces you to use it. Having to instantiate an entire god damn object, with its entire method table, just to print “Hello World!” to the screen is completely insane.

So I’ve ranted about the stupidity of replacing C++ with Java in the curriculum (and C++’s own inferiority when stacked up against a good object-oriented language like Objective-C), but could I do a better job designing a curriculum? Here would be my approach.

  • Start students with C. Not C++. Not Java. No objects. They will take their first programming course in purely-structured programming, and they’ll like it. They’ll be introduced to problems that don’t require object-oriented programming to solve. Give them one bitch-ass assignment where they’ll basically have to simulate objects in C with structures and method libraries in order to solve it. This will whet their appetite for a proper object-oriented language. Fail any student who doesn’t use spacing and tabbing properly. Seeing for(i=1;i<5;i++) should get the student kicked out of the program until he realizes that a space bar exists on the keyboard for a reason.

    Make them use Unix and gcc, not fucking Visual Studio. Command lines aren’t going anywhere, Windows snobs. Better get used to them. My introductory programming course required that all projects be submitted as Visual Studio projects, which pissed me off to no end.

  • Introduce students to object-oriented programming in the second-level programming class in C++, not fucking Java. I don’t like C++ all that much, but its popularity across platforms makes it a good choice. Even though it sucks. They’ll walk in with a solid foundation on which to build and develop an proper appreciation for object-oriented programming. They’ll know which problems are easier to solve with objects and which ones don’t require them. Again, make them use Unix.
  • Let students take Java as an elective, if they wish. It should not be required. Anyone with a solid grounding in C++ could pick up Java in a day anyway. Both of the languages share many poor design choices.
  • Cover make in the courses. It’s a great tool.
  • Teach a debugging course. Yes, that’s right. An entire course devoted to debugging other people’s shitty code, even if it’s only half-a-term long. I’m pretty sure I’m the only student in the entire program who knows how to use conditional compilation to generate debug code. Everyone else runs through and comments out debug code before submission. I change a compiler flag. Cover things like assert and gdb.

So those are some rudimentary suggestions. I’m done ranting for now. I’ll be seeing Chronicles of Narnia tonight.

28 November, 2005

Epiphany

Filed under: News, Politics and Religion, Life and Things Like It — Dalton @ 9:22 am

I want to take a moment to share a revelation I had recently.

I fear Christianity.

Some of you might have noticed lately a certain amount of what can only be called hatred creeping into some of my posts on the subject lately. This is a direct result of fear, fear not of the Christian God, but of the people who claim to represent him/her/it on Earth. It might seem flippant, but Yoda really is correct - fear leads to anger, anger leads to hate, hate leads to suffering.

So I fear Christianity, and I have let it turn me into the sort of person I dislike: a rambling fanatic full of venom and hatred. It is a trend that I intend to reverse.

I have a fair deal of Christian friends. While I may not share their beliefs, I do respect their right to believe it. And lately I’ve been lumping them into my criticisms of Christianity as a whole. I do realize that there is a vast political difference between the many sects of Christianity, perhaps none more divided than the liberal progressives versus the conservative regressives. Yes, I meant to say regressives, because that is the only end result of the far right branch of the Christian religion.

What I fear is these people and what they can do.

In America, conservative Christians seem to constitute a major voting bloc. As you may well guess, most of them are concentrated in the South. The fact is that they more or less run the country: George W. Bush is what I consider a conservative Christian, and he has people like Pat Robertson, Jerry Falwell and James Dobson criticizing him for not being conservative enough. These people influence the lives and decisions of, quite literally, millions of American voters.

And these voters are powerful. They are vocal. And they care only about their religion. Take Kansas, for instance: the conservative Christians won a minor victory there by forcing the school board to adopt a modified definition of science. Not only do these people claim that it was only done in the interests of fairness, but they also have the gall to claim that it is not religious in motive. This is clearly absurd. Intelligent Design is and always will be a codeword for creationism, but these far right Christians have gotten sneakier in their attempts to sneak their dogma past the First Amendment.

It didn’t work in Pennsylvania, and I’m glad for that. The entire school board went home jobless after the last election. But I fear that this is not going to be the case everywhere. Already a good number of states have passed amendments to their state constitution that make it legal to discriminate and oppress a visible minority (denying homosexuals the right to marriage). There is absolutely no justifiable reason for this aside from “The Bible says it’s wrong”. Not even the ridiculous tautology of “Family Values” is defense for them, because I have so far failed to see proof that a homosexual couple would raise a child any differently than your typical American family. Again we see legislation that is religious in motive but carefully disguised as a secular effort.

It does not help either that there are very many Christians out there who see no problem with having “under God” in the Pledge of Allegiance. They reject the notion that Congress violated the First Amendment when they voted to add those words to the Pledge in 1954 during the height of McCarthyism. Today they rationalize it by saying that it’s “traditional” and no longer has meaning. Well, if it no longer has meaning, then why do they get angry every time it is suggested that the words are removed? Is it a double standard? I think so. It is another example of the Christian Right not realizing that they are not alone in this country.

The Christian Right needs to understand that there are not only a great deal of Christian sects in this nation, but also a visible and vibrant minority of non-Christians, including Hindus, Sikhs, Buddhists, Jews, Muslims, atheists, agnostics, deists, wiccans, neo-pagans and various American Indian tribal beliefs. If this really is one nation indivisible, then why be so exclusive?

This is what I fear. That the Christian Right is trying to take over. And that they are succeeding.

I would like to close off this post by apologizing from the bottom of my heart to all of my Christian friends whom I may have offended recently, and that includes Chuck and Mark. I realize that you are not part of this problem, but are indeed against the rampant and willful spread of ignorance. We are all in this together.

16 October, 2005

Drunken Blog’s Evening at Adler

Filed under: Life and Things Like It — Damien Sorresso @ 10:26 pm

Okay, now I get to pretend my readership is actually a lot larger than the two or three people who came across this thing by searching Google for “bush cheney suck ass”. This coming Friday, I’ll be in Chicago for Drunken Blog’s Evening at Adler, a get-together for Mac developers. If anyone out there will be there, let me know and we can hook up.

9 July, 2005

Thanks Meg. I’m jealous of your mustache!

Filed under: Life and Things Like It — Damien Sorresso @ 3:05 pm

So I was out with some friends at a bar last night, and I got to dancing. So my partner (no idea who she was) and I danced for a solid half hour or so. And as so often happens, we made out a little. Good right?

Wrong. She had stubble on her upper lip. It came out of nowhere. It was the kind of stubble that’s invisible to the naked eye, but your tongues and lips are sensitive parts, folks. They don’t lie. Now I know how girls feel when they kiss guys who don’t shave. Not a pleasant experience.

Excuse me, I’m going to go shave. Ladies, feel free to do the same.