Archive for the ‘Philosophy’ Category

Nenad Rakocevic for O’Reilly 2013 Open Source Awards

Thursday, May 16th, 2013

I realize that it is probably a long shot for O’Reilly to recognize a “fringe” language project as deserving of recognition in their open source awards. But I (and the rest of you!) would be remiss not to at least nominate Nenad Rakocevic a.k.a. @DocKimbel. He has spent two years of diligent work and organizing on Red…and that’s not to mention the broad open-source contributions to the Rebol community over the years!

Here’s the link where you can enter your nomination:

OSCON 2013 Nomination Form

And here’s what I wrote:

The closed-source Rebol interpreted language lived in the shadows for decades. Designed by one of the fathers of AmigaOS, it has impressed many…and is frequently cited by Douglas Crockford as his inspiration for creating JSON.

Nenad Rakocevic was one of the most prolific and high profile of open-source Rebol programmers. While Rebol and many of its clients were creating closed-source applications, he was BSD-licensing major projects like his web server Cheyenne, the Rebol MySQL driver, and the CureCode bug database.

In a classic example of how closed-source methods can hold back remarkable ideas, Rebol Technologies stalled development. So Nenad broke away with the idea of creating a “full stack” language based on Rebol called RED. But instead of merely having the same range of applicability as Ruby, Python, or other interpreted languages…his plan for Red was to apply the methods to create compiled (or mostly-compiled) code. This could just as easily be used for device drivers as high-level programming.

Nenad’s progress has been prolific over two years. Most suspect his speed and community inclusivity was the trigger that caused Rebol’s creator to open-source his own project in December 2012. Thanks to his efforts, the Rebol community has *two* strong codebases to build from going forward.

Red (and Rebol) are currently in the margins of the technology world. But it would impress me if O’Reilly recognized the efforts of someone working diligently to lead longstanding closed-source tools into the light, as well as eliminate complexity (rather than continue to build upon pillars of salt and sand.)

Read more at: http://red-lang.org

StackOverflow Summaries and Opinions 2011

Wednesday, January 18th, 2012

I’ve not been posting on this WordPress blog very often this past year. That’s despite actually doing more programming-related explorations than I had in a long time. One of the key reasons is because I found more “instant gratification” (and sometimes “instant frustration”) by participating in the online question-and-answer site StackOverflow.

Like Wikipedia, StackOverflow is a collaboratively-edited body of knowledge. Also like Wikipedia, it is curated by (mostly) volunteers who’ve agreed to use the “Creative Commons Attribution-Share Alike 2.5 Generic License” a.k.a. CC-Wiki. But unlike Wikipedia, S.O. is a closed-source system written using proprietary server-side Microsoft technologies. The people running it are a for-profit business, with paid advertisers and venture capital investors. Their profitability enables them to keep $100 bills in jars of their company snack room:

the StackOverflow snack jars

I don’t begrudge them their success. But while the site can be snapshotted and mirrored, it’s certainly not free of lock-in for tracking question history and other integral site features. Due to the aesthetics of the programmer-types running it, quality and improvements have moved ahead quickly…so far. I will remind everyone that seemingly trustworthy and upstanding programmers have sold out sites hosting my content in the past for something “as petty as money”. (Remember LiveJournal when Brad Fitzpatrick ran it, vs. when it was sold and covered with full-pop-up-video advertisements, feature stagnation, and possible KGB oppression by its new Russian owners?)

So I remain a little skeptical. But I did learn a lot by participating, which for me meant reading a lot then answering many more questions than I asked. I’ve been at times awed by the extremely detailed knowledge some people have…and how quickly one can get a thorough and elegant answer. At other times I’ve been amazed at what jerks some of those same incredibly knowledgeable people can be, for no apparent reason. (It’s less surprising when people whose knowledge does not impress me are jerks…that’s status quo for the Internet!)

Because I’ve recently taken on the organizer role of the Austin C/C++ Meetup, I’ve been introducing myself and sharing links to this creaky old WordPress site. So it seems good to share a few of the high-and-low points of what has been my substitute for a programming blog in the latter half of 2011. Sometimes funny, sometimes enlightening, sometimes lame—and sometimes all three! Read on…

(more…)

Virtual Machines and the *Very* Genuine Windows Dis- Advantage

Friday, June 17th, 2011

Over the years I have come a long way toward a close philosophical alignment with the Free Software movement. Yet I’ll shamefully admit that my two computers are an iMac running OS/X and a Acer running Windows 7. Of course, nearly all of my projects are undertaken in Linux virtual machines which I fire up in the host environment. I just didn’t want to cope with issues of finding drivers for the proprietary hardware of machines that were already “working”.

This week I took one more token step toward a free software stack, by migrating from proprietary-ol’ VMWare over into open-source VirtualBox. Although they use different virtual disk formats (VMDK vs. VDI) it is possible to convert between them using a free tool, just like this:

VBoxManage clonehd image.vmdk image.vdi --format VDI

Yet the format of the virtual disk file is a minor hurdle in the scheme of things. The real problem with switching from one virtualization system to another is that all the “virtual hardware” changes. You basically have a whole new video card, processor, BIOS, sound device, keyboard, ethernet interface—everything changes. There can be problems booting after the switch if the operating system tailored the installation for only the hardware you had at the moment you ran the setup.

Fortunately modern operating systems were designed to roll with such punches. Manufacturers and users alike will pull parts out of the computer and put new ones in. So there’s enough of a “lowest common denominator” lingo that even super-futuristic graphics cards can go into a 640×480 mode long enough to let you see the dialog boxes for installing a smarter driver designed for it. My Linux installs came through just fine.

But I keep a VM for Windows XP too, that I pull out in those circumstances when I need such a thing. Predictably…Windows had some esoteric trouble on VirtualBox with agp440.sys and intelppm.sys. A helpful article I found suggested to essentially delete them and it starts working. I did a little reading and agp440.sys is related to a deprecated standard called the Accelerated Graphics Port; it seems that removing it does not seem to prevent the Virtual Machine from having accelerated 3D services. intelppm.sys is related to power management and turns off the processor if the CPU is effectively idle, so it is likely superfluous to a virtual machine.

(Note: I did have to turn on the VirtualBox setting for enabling “‘IO APIC” to appease mup.sys but did not see the CPU utilization bug mentioned in Ticket #638. So I decided not to follow the convoluted process of using SysPrep to rewire things so that I could turn that check box off.)

So after a couple hours of tinkering, my Windows VM came up under VirtualBox…though it gave me a warning. My hardware had changed sufficiently that its “Genuine Windows” status was invalidated. It told me I would have to activate it again within 3 days.

“Or what?”, you may ask.

In this case the “or what” is “we won’t let you into your system”. You type in your password and it announces that you’ll be going into the activation process right now, else no soup for you. It didn’t even give me the 3 days it claimed; in the course of less than 24 hours it decided to jump me straight to OS death row.

(A long way to go, just to harass users of an operating system the company DOES NOT EVEN SELL ANYMORE.)

My one copy of XP is very old. The wily holographic disk has the orange license key sticker stuck directly on it. I’ve used it on several computers, all of which basically either died and got thrown away…or were formatted with Linux and given away to charitable causes sans any of my personal info. Yet I don’t know how many times I can push this magic “activate” button before it decides to say no. Plus I hadn’t even installed the VirtualBox tools that let Windows magically embrace things like integrating the mouse pointer with the host…what if I activated, then installed those, and it decided it was a new computer all over again?

As it happens, I restarted in Safe Mode and it decided to let me in. I installed the VirtualBox tools and rebooted and clicked “activate”. It let me activate (for now…at least while these activation servers happen to be around.) But this is another zen lesson about what it means for something to be Defective By Design. My small dependence on a few Windows tools and desire to assist people with problems (such as porting solutions to not need Windows) will hopefully be phased out before I should ever encounter another Genuine Windows Disadvantage!

Stopping Exploitation from Being Profitable

Wednesday, October 20th, 2010

I have made the statement: “It should never be more profitable to exploit a market than to educate it.” It’s something I say a lot, and has a very specific meaning to me which I understand intuitively. But not everyone knows what I mean when I say it. So I thought I’d take a stab at explaining it in a longer form.

Imagine a manufacturer who makes a product which they know to be inferior to a competitor’s product in every way, even though the costs to build them are identical. Let us say for the moment that this is a music keyboard. On the box and in the manual they make no mention of their keyboard’s limitations, or the existence of the competitor.

Fans of capitalism and evolution would point out that this situation isn’t necessarily as terrible as it seems. Firstly, the market would ideally respond by valuing the better product more and thus it would command a higher price. So the inferior product would fill a niche where a person evaluating their budget and needs might choose the less expensive option.

There are other hypothetical reasons to preserve this “healthy” competition. If the people making the lesser product were to voluntarily cease production, then there wouldn’t be a backup in case the superior product could not manufacture enough to fill a supply channel. Thus, some people trying to buy a keyboard might get no keyboard at all… a worse situation (in some viewpoints) than dealing with inferior hardware. Diverse efforts also allow for certain kinds of serendipity; a different design might turn out to be adaptable in new ways.

But why would anyone want to knowingly develop an inferior product to be sold at the same or higher price as higher quality products?

Often times those making the inferior product find they are not offered roles with the team making the better product, or would not be compensated as well if they jumped ship to help. Perhaps it’s not feasible or desirable for them to work in the location where the superior product is being put together. Maybe the team making the superior product is managed by a larger entity whose values and principles–when looked at beyond just the scope of the product itself–are unpalatable and there is a desire not to join them because of this ideological difference. Perhaps they do not think the product is inferior (even if the evidence points to the contrary).

What bothers me is when innocent people are caught in the crossfire. In the music keyboard example, I listened to the radio when I was a kid and wanted to make music myself. For Christmas, I wanted the fanciest keyboard I knew of…the most expensive model at the local Sears. The Yamaha “PortaSound” PSS-680:

My aspiration was to make music. But it should have had a giant warning on the box: “JUST A TOY. NOT USED BY PROFESSIONALS.” The entirety of it was a fraud…from the “100 voices” that were all a slightly different kind of buzz. Guitar was bzzzz, piano was whrrrbzzz, and so on until you got up to voice 99, which was popcorn: crack, pop. (Gee I can think of tons of songs that will come in handy for…)

Even the keyboard demonstration was a lie. You pushed a button and heard a fairly interesting (for the time) demo song. But no one composed that on the keyboard itself with its miniature keys and terrible excuse for multitrack recording. While not obvious to me at the time, I know enough now to tell you that it was constructed on a MIDI editor on a computer and then copied in afterward. It’s laughable to suggest that somehow the on-board recording tools could be used to achieve that level of composition, by anyone but some kind of garbage-keyboard-savant.

Especially for children, it’s not easy to tell what’s a toy and what isn’t…if the marketing is specifically designed to prey on your hopes. Similar crushing stories happened to me when arcade games were translated to home consoles and computers, and the box art and graphics on the back were worlds apart from the lousy shovelware that had been hacked together to trade on the brand.

Bear in mind, the people at Yamaha may have done a good job of providing a neat toy to a market at a cost that was less than the real instruments. Same with the home games. I can see these serving a niche, and as an adult I could probably use that keyboard to teach the properties of FM synthesis, ADSR, etc. But it was destructive: my musical aspirations were deferred for decades because I blamed myself for not being able to get anything that sounded like what was on the radio out of that machine. And I know I’m not the only one who’s suffered due to the “not my problem” attitudes of marketers. Think of the children.

From my perspective, there is a problem with any society whose governance model and culture allows there to be a situation where one can profit more from exploiting a market’s naivete than the profit you would be given to educate the naivete out of the market. The economic engine itself–and the rules that govern it–must be changed to punish the former and reward the latter. Indeed, both punishment and reward must come into play in order to balance the transaction.

Admittedly, with the Internet we have more potential to research and protect ourselves, in a caveat emptor / buyer beware sense. But this research would be easier if those with something to sell were honest. We must find ways to reward honesty and punish dishonesty to bring about that balanced point where it is no more profitable (and hopefully less) to exploit a market than to educate it.

Clocks that Run Backwards (and other innovations)

Sunday, July 18th, 2010

Michael Hartl is spearheading a campaign for a cause that is near and dear to my heart. He wants to fix the fact that we are living with a suboptimal choice for the value of π:

http://tauday.com/

About a year ago I did a hunt on the web to see if anyone besides me had campaigned for changing the value of the fundamental circular constant we use to 2π. At that time, I only found the essay Michael cites: “π is wrong” by Bob Palais, which was published in 2001:

http://www.math.utah.edu/~palais/pi.html

Bob notes that the reactions he got ranged from “obviously” to “you’re nuts”. I’m personally in the “obviously” camp. Especially because in 1995 I gave an informal talk at my university called Clocks that Run Backwards (and other Innovations). In it, I suggested several foundational changes which would eliminate “accidental complexity” that I felt was burdening early education. Changing the circular constant was one of my big pushes.

I am almost 100% certain that other Quixotic-types must have espoused the idea before I ever thought of it. But I seem to be the earliest we know about (so far) who was crazy enough to treat it like an important topic in public—while sober, even.

(2012 UPDATE: The rising popularity of tau has gotten another proponent of “pi is wrong”–Joseph Lindenberg–to come forward with a 1991 paper he wrote on the subject. Some of the ideas I had in my talk were things I’d cared about long before, such as the issues about fixing clocks. But it was specifically doing EE homework that inspired my annoyance with the chosen value of pi–so I probably only started talking about it around 1994. Anyway….)

Though no recording exists of my presentation, I can call witnesses. In fact, one guy who came to the talk wrote my argument in response to a math question on an exam he didn’t know the answer to. He argued that he didn’t have to answer it due to religious objections to the choice of the value of pi. I think the TA gave him 0.628 points for the answer.

(Note: On another question on that test for which this fellow did not prepare, he wrote “6*O, where O is defined to be 1/6 of the answer to question 21″—or something to that effect. I don’t want any of the blame for that idea, though!)

Michael and Bob (and Joseph) have made the arguments, and expanded upon them with more formal justification than I ever have. So rather than repeat that here, I’ll lay out how my proposal differed…as well as a few other things I talked about.

(more…)


Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported