Malcolm X Day

I wish Malcolm X had a holiday, or had some streets named after him. Some years ago, a group called the “Guerilla theatre of the absurd” at Reed College printed up stickers, the size and color of street signs, saying “Malcolm X dr.”, and pasted them on all street signs of some particularly wealthy street in Portland. In essence, they did a citizen renaming of a street.

Now, a study of American history shows that the teaching and preservation of American history is grossly, horribly mangled and abused in order to maintain fealty to a kind of unifying fairy tale. As part of this process, I think Malcolm X is being forgotten, and I find that tragic.

So I’d like to propose a new holiday: From now on, let Feb. 21 be Malcolm X day! How do we celebrate Malcolm X day? We print bumper stickers, the same size, shape and color of street signs in our city, and we do a citizen of renaming of a street, or a part of a street, whatever we can pull off. We do this every year, in every city where we can find some brave soul to join the movement. When do we stop? When they rename a street in your town after Brother Malcolm. After that we can celebrate by getting out and having a parade down Malcolm X drive or Blvd.

So what do you think? We have 9 months to prepare. Start your planning. Post pictures of your civic improvements on the web!

Lessons about movements

Leaders are overvalued in our culture.  American history tends to paint social change as happening as a result of the actions of a few great leaders, as opposed to occurring  despite the nations leadership, and due to the agitation of large numbers of affected people.  So while I don’t wish to devalue the work that, say, MLK did, I don’t think the civil rights movement of the sixties was thanks to him.  Rather, MLK was successful because he had so many dedicated, hard working followers, most of whom history will forget.

Now look at the following video.  It makes the case clearly, brilliantly and light heartedly.  A small act of sainthood.  Bravo!

Faulty Java Documentation

J3D provides a box constructor Box(float xdim, float ydim, float zdim, Appearance ap).

The documentation states:

public Box(float xdim,
           float ydim,
           float zdim,
           Appearance ap)
Constructs a box of a given dimension and appearance. Normals are generated by default, texture coordinates are not.

Parameters:
xdim – X-dimension size.
ydim – Y-dimension size.
zdim – Z-dimension size.
ap – Appearance

This is an error.  xdim, ydim, zdim are actually  one-half the x,y, and z dimension sizes.

Oops, I made an owchie

So, the weather is fantastic here in Switzerland, and I finally got motivated enough to bike into work.  It’s no small commitment, I have a 28 km ride, which includes climbing the Albis Pass.  Okay, it’s a pretty small pass, but my bike only has two front chain rings, so it’s actually a pretty tough hall, especially after a few weeks of slacking on the training.

My poor condition probably explains why I was feeling tired and easily distracted as I had to navigate the tricky traffic & trams around Bahnhoff Enge.  I was in the narrow space between traffic and a tram line, when I realized that I had gotten way too close to a tram island (basically a curb in the middle of the road).  I rubbed against it, and didn’t handle it well, and totally wiped out.  Below you see the result:

my biking injury

The worst thing is now I have to go and buy a new pair of leg warmers.  Well, okay that’s probably not the worst thing, but it does suck.

What I found surprising is how many of my colleagues suggested that I go to the doctor.  I did get the first aid kit from the hallway and clean and disinfect it myself.  Really, what more would a doctor do?    I wonder how much of my doctor reluctance comes from not having had health insurance for so long while living in the states?  Go team Obama on that one.

Manufacturing consent and copyright law

The New York Times has a lengthy article entitled “A Supersized Custody Battle Over Marvel Superheroes”, discussing an ongoing legal battle over copyrights regarding character created by Jack Kirby between 1958 and 1963.  It is useful to analyse such reporting, to see how consent is manufactured for policies which benefit the power-elite (read large corporations), and harm the public, in this case the public domain.

First, a brief history lesson which needs repeating, as the vast majority of America has never even heard of the public domain, and has no understanding of how copyright law differs from property law, which differences defines how copyright violation differs from theft.  Copyright is (intended to be) a short term abridgement of human rights, specifically the right to free speech, in an effort to encourage and reward creative works.  They provide the creator of a work with a temporary monopoly on the spread of his or her ideas.   The main players behind the creation of copyright and patent law in the United States were Thomas Jefferson and James Madison, who clearly had mixed feelings on the subject.  The fundamental idea was that through creation of this temporary (state enforced) monopoly, congress could “promote the Progress of Science and useful Arts”.  A useful brief history can be found here.  Once this temporary copyright expired, the intellectual work would return to the public domain.  The original period of copyright length in the U.S. was 14 years, and the author had the right to extend the copyright for an additional 14  (Details of the historical development of copyright law can be found here).  The feeling was that this was an appropriate length of time to allow a creator the opportunity to benefit from his or her creation with an acceptable abridgement of human liberty.  In other words, copyright is a tradeoff between reward for the creator (incentive) and civil liberty, particularly to provide an incentive for publication and distribution.

As costs and times for distribution and publication decrease, the cost function for this tradeoff change, implying that copyright lengths should decrease.  In the last century copyright and publication has become dominated by an oligarchy of powerful corporations, primarily the members of the RIAA and MPAA, with Disney being a major villain.  These corporations have  championed a series of extension to copyright, each time adding a small fixed amount to the existing copyright lengths,  so that copyrights can now be extended to the life of the author + 70 years.  There is no reason to expect that these corporations will allow their increasingly valuable copyright portfolios to expire, so as waves of valuable intellectual property stand to enter the public domain (where they belong), we can expect the armies of lobbyists to swarm Congress’ halls once again.

So what does all this have to do with manufacturing consent?  In the NYT article, the article never mentions the concept of public domain.  It never discusses the fact that Kirby’s creations, now at 50 years of age, should have entered the public domain 32 years ago (under the original terms of copyright law).  There is consideration of the harm done by such copyright litigation which has no redeeming social value.  Jack Kirby, 16 years dead, is not going to be rewarded by this lawsuit, nor will the current process encourage any kind of creative work, beyond creative legal wrangling.  The underlying message of the article seems to be “look, thanks to the efforts of this lawyer and our wonderful copyright system, this guys heirs are gong to be getting a payday!  Isn’t the American copyright system grand?”  Rather than the message we should all be reading, which is “Look, this legal vampire is trying to make a lot of money of this copyright vampire.  The copyright vampire deserves to suffer, since without it’s machinations these works would be in the public domain and contributing to our culture.  But the legal vampire isn’t contributing anything to our culture either, and giving money to Kirby’s heirs isn’t doing anything for anyone either, other than using the legal system as a kind of lottery”.  The real lesson to be learned here is the following:  We need copyright reform.  We need copyrights to be shorter, and we need them to remain in the hands of the creator, not in the hands of some parasitic corporate behemoth.

Jobs versus good government.

I actually want to write about Obama’s attempt at student load reform, but before I do I want to mention an excellent article at truthout discussing Beck, Coulter, and Limbaugh. The author (one Davidson Loehr) gives a brief review of Julius Streicher, who would seem to be the closest thing to a real life Howard W. Campell Jr. as exists, and compares his crimes (for which he was hung at Nuremburg) to the activities of Coulter, Beck, and Limbaugh. It’s a good read, and mostly on the money. He makes a very strong case against Coulter and Beck, but if the quotes he uses for Limbaugh are the best he could find, his case is pretty weak there. Limbaugh is probably guilty of little more than paving the way for Beck and Coulter and Fox news.

Moving on to Obama’s student loan overhaul: I just read an article at the NYT called Obama’s Student Loan Overhaul Endangered. For those of you who don’t know, the American student loan system works as follows: Most student loans are made by private, for profit companies, with government guarantees. In other words, the private companies take the profit, while the federal government takes the risk. This is essentially the same problem people discuss with the bank bailouts (and the airline bailouts, and the automotive bailouts…) with one important difference: Here the situation is planned in advance. It’s not an attempt at averting an even worse catastrophe, it’s just an example of successful (for the profiteers) lobbying. For federally subsidized loans, the govt makes the interest payments until graduation. Student loans are exempt from bankruptcy, so even if you go bankrupt, you will still owe on the student loans.

Obama’s plan is to loan the money directly, which would save the government billions of dollars, which he would use to expand Pell grant scholarships. This is no-brainer policy reform. The only people who lose out are the lenders, who, let’s face it, are parasitic users who have obtained their risk-free, merit-free profits by gaming the U.S. political system.

But the education bill is strongly opposed by some Senate Democrats, particularly those in states where for-profit student lenders are major employers. In a letter to the majority leader, Senator Harry Reid of Nevada, six Democrats said they disliked the president’s proposal.

“We write to make you aware of our concern with provisions of contemplated student lending reform that could put jobs at risk,” the senators wrote. “Increase our nation’s commitment to higher education funding is a priority, but we must proceed toward this objective in a thoughtful manner that considers potential alternative legislative proposals, while still delivering an equivalent amount of savings over the next ten years.

So, who should be haranguing for this? They are: Senators Thomas R. Carper of Delaware, Blanche Lincoln of Arkansas, Ben Nelson of Nebraska, Bill Nelson of Florida, Mark Warner of Virginia and Jim Webb of Virginia. Now, I’m a huge fan of Webb for his courageous attempt at justice reform. He’s also one of the most reasonable and ethically consistent senators with regard to foreign policy. I might not agree with all his conclusions, but I thnk he’s a pretty good guy who works hard at being ethical. So in the end, the system is to blame, not the individuals. I’m not familiar with the others, but probably the same holds true. It’s not hard to see how this probably played out: Contributions buy you access. Once the lenders have access they make a spiel about how this is going to cost their state X jobs, and probably paints the whole thing as a political liability for the Senator in question. At that point the senator in question either cynically decides in favor of the local over the national interests (this amounts to self interest through the election process), or decides that he (or she) has to pick their battles carefully, and this one isn’t worth fighting.

What really gets me is couching the conflict of interest in terms of national interest vs jobs, where the real issue is national interest v.s. private wealth. Why? Well, the loans are going to made anyway, which means the jobs are needed anyway. The only difference is who’s doing the work, and where. So it’s not a question of jobs, it’s a question of whether or not we want to let some asshole(s) with money and connections profit from the student loan process or not. Who are these assholes? Well, Sallie Mae is at the top of the list.

The whole “jobs vs X” line is overplayed, and pretty transparent. It used to be used to great effect to torpedo environmental protections. Of course, environmental protections typically create jobs. It’s automation and outsourcing that destroys work places. Hopefully the american voter is gradually getting wise to this line of bullshit. So write your senator and tell them you don’t fall for that jobs versus X bullshit anymore, and you expect him (or her) to vote with your interests in mind, not with Fannie Mae’s.

The info wars: Disney

I recently listened to an old Alex Jones – Noam Chomsky interview.  I absolutely detest Alex Jones, who’s essentially the Rush Limbaugh of the tinfoil hat crowd.  What I find reprehensible in his pseudo-journalism is the net effect of it, which is to discredit and marginalize legitimate points of concern in the political spectrum, for example corporate manipulation (well, ownership) of the media and manufacturing consent being perhaps the most vital.

The problem is AJ has a much bigger audience and visibility than intelligent, reasonable individuals (like Chomsky) who are working hard at exposing this stuff and educating people.   So when you start talking about corporate and elite ownership of the media, the average person will likely have heard these concepts first from a wing-nut source like Alex Jones, and will likely glaze over.  So while A.J. ended his interview with Prof Chomsky by calling Chomsky a corporate-elite schill, the truth is that A.J. does far more to further the corporate-elitist agenda.  I’ll be discussing that at some other point, but I want to talk about a concrete example of this kind of corporate media control that’s taking place right now.

Maybe you’ve heard about the Campaign for a Commercial-Free Childhood?  These guys a a national coalition of health care professionals, educators, advocacy groups, parents and individuals whoare trying to “reclaim childhood from corporate marketers”.   They managed to push Disney into offering refunds on their “Baby Einstein” videos, because (surprise!) watching a video doesn’t educate your kids, and in fact watching videos is probably harmful for young kids, no matter what’s being watched.  This wouldn’t be a problem if Disney hadn’t claimed that these videos were “education”.

So Disney had to offer refunds, and the companies involved had to drop the word “educational” from their marketing.  Good news all around.   But mega corporations (and Disney’s among the worst) doesn’t like it when people try to execute some kind of democratic control or accountability.  So Disney called up the Judge Baker Children’s Center (a Harvard affiliated children’s mental health center).     Apparently Disney put pressure on Judge Baker, who in turn pressured the heroes in this story not to advocate against corporations, and not talk to the media.  Wow.  Now the JBCC is evicting the C.C.F.C., apparently because “the mission of the C.C.F.C — to protect children from harmful exploitation by corporate marketers — is not in line with the Judge Bake mission”.

Now Karen Schwartzman said Judge Baker received no money, and no promise of money from Disney, so one has to wonder what form of motivator Disney used?  Hints of research grants (this wouldn’t be money to JB after all, but to the childrens center), or pressure through Harvard (does Disney donate or have joint research programs with Harvard)?  Or perhaps it was just the threat of frivolous lawsuits.  Disney is a particularly nasty beast, because, in addition to having the huge financial resources available to all major corporations, they have such an overwhelming hold on the American collective unconcious.  I think it’s hard for the average American to think of Disney as evil, which no doubt has  helped in Disney’s efforts to plunder and deny the public domain.

There’s a fairly good article at the NYT.

America’s lack of conservatives

My mother and aunt Herta called me last night. I forget how we got to it, but I was explaining to Herta how low taxes are here in Switzerland, and how much more the Swiss government provides with that money than the American government manages to provide despite a much higher tax rate. How big is the discrepancy? I have roughly %13 in withholdings, including all taxes and unemployment insurance. Switzerland has a private, but highly regulated medical insurance system (a lot like what Obama is trying to push through), so I do have additional health care costs, compared with other countries. That money pays for an incredibly stable and responsible government, which takes great pains to protect the air and water quality, provide an excellent education system with top class university educational available, virtually for free, for anyone willing to work for it. They have the best mass transit system I have ever seen anywhere. They do a commendable job protecting the environment. Crime is virtually non-existent and emergency systems and infrastructure are second to none.

So we got to talking about how this works so well, and I said I thought it was partly thanks to the excellent system, and partly thanks to the culture (which has its defects, but certainly contributes to the well functioning democracy). Herta made the comment that yes, the Swiss are very conservative, responsible voters. So I took a breath and said, well, yeah, that’s right, the Swiss are conservative in the sense of the english adjective, but not in the sense typically used in American politics.

The problem is, there is no real conservative political group in the United States, if we consider conservative to mean cautious, thinking far into the future, and making sober careful political decisions. American so-called conservatives, i.e. the Republican party, are dangerous radicals. Whenever the Republicans are in power they institute dangerous and radical social, political, environmental and economical changes, whose consequences often take many years to manifest. A real conservative would carefully weigh the merits and demerits of opening new territories for exploitation. A real conservative would have looked at the trends with oil production and the consequences of oil dependence and global climate change back in the seventies, and begun making plans. American so-called conservatives just say “deregulate!”, “drill baby drill”. The Republicans, who call themselves conservatives, essentially follow the greedy-algorithm, which basically consists of the “take the step which gives me the largest immediate gain”. This algorithm leads to dangerously unstable outcomes, both in computational science, and in real life.

Fedora 12: Configuring it like I like it.

Well, Fedora 12 is out. I use Fedora, because their target audience is people who would be inclined to, and be able to, contribute to free software. This means the target audience is more savy than the target audience for, for example, Ubuntu. I’m tired of OS’s aiming at the least common denominator. An OS that’s efficient for a skilled user differs from one that attempts to idiot proof things.

Of course there are a few steps needed to get Fedora working like I want it to. They are only slightly modified from my Fedora 11 steps:

  1. Fix the DNS lookup bug. On all the machines I administer, this manifests itself as massive dns lookup failures, with the effect that although you can ping an address, you don’t have any internet access (no web browser, no yum…). This answers the question: I have an internet connection, but I can’t use the web, WTF?
  2. Access to fusion.  Fusion provides all that useful stuff that’s not in the default fedora repo, like mplayer and codecs that might be subject to patents.
  3. Add MP3 support/get Amarok working.
  4. Get Flash working (people need their youtube).
  5. Graphics acceleration
  6. Add ntfs support.
  7. Disable physical file folders.
  8. Enable Ctl-Alt-Backspace
  9. Deal with the “my laptop hangs while booting bug” if applicable

1. Fix the DNS bug
Apparently there is a known bug, which mucks up the domain name lookup with certain ISP’s, of which bluewin (my ISP) is one. In the bug description the complaint is that you get unreliable name lookups, but in the case of bluewin (my isp), you get no successful lookups. A workaround is:

  1. Find out the network interfaces the machine has using the command “route -n”.
  2. Create a file: /etc/dhclient-< your network interface name here >.conf consisting of the line
    prepend domain-name-servers 127.0.0.1;
  3. Start dnsmasq (‘service dnsmasq start’).
  4. tell dnsmasq to start every time the computer does (‘chkconfig dnsmasq on’)
  5. restart the network connection (‘service NetworkManager restart’)

So on Sunny the Sony I want to get my wireless LAN working right on Bluewin. Running ‘route -n’ tells me my network interface is ‘wlan0’ (which I could have guessed). So I do the following (as root of course):

echo 'prepend domain-name-servers 127.0.0.1;'  >  /etc/dhclient-wlan0.conf
service dnsmasq start
chkconfig dnsmasq on
service NetworkManager restart

And presto, my internets work again. I don’t put it on this list, but at this point I run a ‘yum -y update’ to get the base install up to date.

2. Access to fusion:
Fusion is a merge of the largest existing repos, and means to be the extra repo for fedora, including (separate) free and non-free packages that Fedora is not able to ship of license or export regulations.  The following will get you both the free and non-free (as in freedom, not in cost) repo’s:
su -c 'rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'

3. mp3 support.

I still use Amarok, which I am still unsure about recommending. I found Amarok 1 vastly superior to the alternatives however, so I’m hoping Amarok 2 eventually becomes awesome. In addition to Amarok, I want lame for when I rip my CD’s for my car mp3 player, mp3 support for Totem, etc. So I do the following:

yum -y install amarok lame* gstreamer-plugins-ugly xine-lib-extras-freeworld

And things seem to be running all right.

4. Get Flash (i.e. Youtube) working This solution comes from here
Go to  http://get.adobe.com/flashplayer/ , get YUM for Linux, and perform the install.  Then,
yum -y install flash-plugin libcurl
yum install nspluginwrapper.{i586,x86_64} alsa-plugins-pulseaudio.i586
rpm -ivh adobe-release-i386-1.0-1.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
5. Enable your 3d hardware acceleration.

While it’s possible to just download the nvidia installer and get things running, you’ll have to recompile the driver every time you update the kernel.  So it’s easier to use the fusion repository.  You’ll also have to disable the nouveau drivers, which prevent the kernel from loading the nvidia drivers.  This can be done by recreating the initrd, or by adding a command line option to the kernel.  I do the former with the following command:

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)

It’s also necessary to lower the system protection so SElinux doesn’t stop the driver from loading:

setsebool -P allow_execstack on

Finally, you can install the drivers:

yum -y install kmod-nvidia-PAE

Obviously, if you aren’t using the PAE kernel, you’ll have to adjust. You also have to adjust the installed driver if you’re using a GeForce5 or older card. Details can be found here .

6. Make the fat drive writeable, and add NTFS write support, so people can easily work with Windows.
For any fat partition, change the umask in fstab to 000. For NTFS support:

yum -y install ntfs-config.noarch
7. Disable “physical” file folders. This is the annoying behavior, default in gnome, that opens a new window for every folder that you open. Get rid of it by double clicking on a folder, and in the resulting window open edit->preferences->Behavior, and check the box for “Always open in browser windows”. There is a scriptable way to do this, so if someone wants to tell me, please do.
8. Enable ctl-alt-backspace.It always frustrates me when a distro moves away from supporting the power use to supporting the neophyte. I think there are plenty of neophyte oriented OS’s and distros around. I use Fedora instead of Ubuntu because Ubuntu aims too much at the dumb asses, and Fedora tends to support the people who want to learn and be efficient. Unfortunately the Fedora guys do make dumb-ass-friendly decisions, such as the decision to disable ctl-alt-backspace, which I find to be a very poor decision. Who hits this key sequence by accident? Anyway, to enable it in Fed 11 do System->Preferences->Keyboard, choose keyboard layout options and enable the checkbox for “key sequence to kill the x server”.
Fedora claims to be aimed at people who are willing and able to contribute to open source software.  I think people who fall into that category would prefer to have ctl-alt-backspace enabled by default.  What do you say guys?
9. Fix the tpm_tis bug
On several laptop models, including my Sony SZ750N, there is a bug which results in fedora seeming to hang at boot. In fact, it just boots very slowly, forcing me to wait about 6 minutes, occasionally putting out something to the effect of: “tpm_tis: 00:0a 1.2 TPM…” etc. etc. There’s a discussion of the bug here. The workaround is to add “tpm_tis.interrupts=0” to the kernel boot options (e.g. by editing grub.conf).

Java Gripes

I, for my sins, am now programming in Java. By now I have a lot of experience programming with a pretty large number of programming languages. Java, C++, C, Basic, Visual Basic, SQL, Python, Perl, php, Matlab, etc.

While I have to admit to having a prejudice against Java as YAPL (Yet Another Proprietary Language), I knew that in all likelihood I’d be working in it for some time, and I did my best to reserve judgement and find what is good in the language.

By now though, I think I’ve gotten good enough in Java to have an informed opinion. While Java has its strengths, and it could certainly be worse (it could be visual basic for example), I’m generally unhappy with it. I think the big problem I have with Java is it marketed to be used in application domains where it simply isn’t right choice. I suspect that for medium sized projects, free projects, projects which require a heavy network integration or should run as an applet, it’s probably a good language. For certain problems I would even believe that it’s the best choice.

But for large, complex projects, in particular projects in which you want to sell a binary and not sell a source code, forget it, Java’s a nightmare. But I don’t want to get into an encyclopaedic discourse of the ills of Java. I actually just want to use this forum to vent my frustrations with the language, and keep a kind of running diary as problems cross my mind. I suspect it will be useful when I need to explain to someone why I don’t care for a language. Normally when I get involved in such conversations my frustration is to palpable for me to explain my concerns lucidly: I’m to busy trying to get my head above the frust.

For today, let me just gripe about how Java has too many advocates. I suspect that this ill, along with most of Java’s ills, stem from the fact that java is owned by a corporation which expends a lot of money and energy trying to brand the language, generate a community, and in general get people feeling all tribal about being a Java programmer. Consider this blurb on the back of “Killer Game Programming in Java” which has on it’s back cover blurb “As a result [of poor documentation] Java has become a second-class citizen to C, C++, and assebly language when it comes to hardcore game programming. This book changes all that…”

Ugh. That’s just typical of the Java world. The book jacket isn’t trying to sell a book, it’s selling Java to a problem domain. The fact is Java isn’t the right choice for a “hardcore” game. My understanding of the term “hardcore gaming” is pretty much, by definition, to be “resource intensive”. That means efficiency and complexity (both algorithmic and code-complexity) are an issue, and that’s where Java just isn’t a good choice. Not only that, but games tend to be commercial undertakings, which means selling binaries and license management etc, which means obfuscation, which means you can’t break your code down properly into modular units and libraries. Generally if it’s really computationally intensive, you want to manage your own memory…

Now, I have to use Java for a 3D application. I have no choice. So I’m happy to have the book and I’m sure it will be useful to me. I’m also sure that there are a number of applications for which Java’s 3d apps are a good choice (smart phones, web apps, free software projects), but trying to convince the reader that the only thing keeping Java from being as good a platform as C++ and assembly is the documentation, well that’s just disingenuous shilling. The Java community is like the P.T. Barnum of programming communities.