Month: February 2003

BNF

As i’m learning lots about static analysis, i’m re-discovering some classic computer science papers, such as the one (1977) by john backus (of BNF and FORTRAN fame):

Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak: their primitive word-at-a-time style of programming inherited from their common ancestor–the von Neumann computer, their close coupling of semantics to state transitions, their division of programming into a world of expressions and a world of statements, their inability to effectively use powerful combining forms for building new programs from existing ones, and their lack of useful mathematical properties for reasoning about programs.

i can relate to his statement that Programming languages appear to be in trouble. each new language adds new “features”, yet little changes, and we are still thinking in terms of state machines, very low-level indeed.
further down, we learn that

The models of computing systems that underlie programming languages fall into 3 classes: (a) simple operational models (e.g., Turing machines), (b) applicative models (e.g., the lambda calculus), and (c) von Neumann models (e.g., conventional computers and programming languages). Each class of models has an important difficulty: The programs of class (a) are inscrutable; class (b) models cannot save information from one program to the next; class (c) models have unusable foundations and programs that are conceptually unhelpful.

the main argument is that since traditional languages model the behavior of hardware, they are bound by its limitations:

Thus variables = storage cells; assignment statements = fetching, storing, and arithmetic; control statements = jump and test instructions.

i always hated functional languages when we studied them (they seemed less useful for interfacing with APIs, which is what most programming these days is about), but maybe i should reconsider.

information far from the median

If information is extremely exclusive, then one can charge a lot for it; if information is extremely broadly available, then there’s power — and ultimately value in economic terms — in that, too. It seems to me that perhaps what’s “less valuable” is the information in the middle zone, where it’s neither exclusive nor extremely broadly read. The Net is a trap for the unwary in this regard. If you keep things close and don’t use the Net for dissemination, you might lose access to some potential readers. If you are aiming for broad circulation and you come up short, then you end up with something of little value.

a very insightful analysis. i was never much a fan of proprietary information (it prolongs the wait for the singularity), and have been working to make it easier to spread information cheaply, reliably and targeted. a page rank of 6 is probably the lower bound for being noticed..
reminds me of the growth trap for companies: midrange companies have lower profits than both small and large companies. don’t be average.

clients..

<brihana25> Q : Can I run postnuke from dreamweaver? A : No, you fucking moron retard.
<brihana25> Q : How many copies of the theme am I going to need to make all the pages look the same. A : Just one, you fucking moron retard. That’s why it’s called a /theme/.
<brihana25> he just asked me for the URL to his own friggin’ site
<brihana25> can we make it illegal for morons to be on the internet?
<brihana25> i can’t log off. he’s paying me better than anyone ever has.
friend dorothy (aka brihana25) is in pain. with clients like hers, no wonder..

big words and small talk

Innumerable pundits and programmers have pointed out the similarities between the most popular .NET languages (currently VB.NET and C#), and some like to focus on the relatively minor differences between them. S# is different. Not only is its syntax different, following the model of classic Smalltalks, but its underlying design and capabilities differ as well.
In 1999, Simmons was invited along with experts in 10 to 15 other languages, to join a then-secret project at Microsoft called Project 7 Lightning. Project 7 Lightening involved creating test implementations of these languages on the nascent .NET Framework code base to help Microsoft discover what features the framework needed to fully implement these languages in the future.

the .net platform (and by extension, mono) are getting more interesting every day. as more and more non-mainstream languages such as eiffel, scheme, haskell, ruby, python and now smalltalk get a .net port, the options increase. every self-respecting software engineer tries to learn several languages, but practicalities and a lack of a rich framework in the more research-oriented choices made this impractical in the past.
i am hopeful that we will see a day soon when there is a unified, cross-language and cross-platform class library. it wont be java, so my bets are increasingly on .net. in a perfect world, this library would incorporate CPAN, PEAR, and others. still missing: php.net

jealousy

damn roger makes me jealous. first off he is in paris (which rocks), second he is at a nice conference, and third he can take pictures on the road and update his blog in real time.
almost makes me reconsider my vow of abstinence from mobiles.

Blogging into oblivion

Various forms of apparatus for a new kind of wiki or blog (weblog) are described. In particular, ways of bringing together a collective deconsciousness are presented. The systems works with CyborgLogs (cyborglogs or “glogs”) from a community of portable computer users, or it can also be used with a mixture of portable (handheld or wearable), mobile (automotive, boat, van, or utility vehicle), or base-station (home, office, public space, etc.) systems. The system enables a community to exist without conscious thought or effort on the part of the individual participants. Because of the participants’ ability to constantly experience the world through the apparatus, the apparatus can behave as a true extension of the participants’ mind and body, giving rise to a new kind of collective experience. In other embodiments, the system may operate without the need for participants to bear any kind of technological prosthesis.

wow. this paper argues that moblogging and other technologies will allow for a state of thought, that is neither conscious, unconscious, nor subconscious, but, rather, a shared stream of thought, that evolves into something greater than its constituent parts. one step closer to the hive mind, or to collective consciousness? you decide.

augurs

This is why I go to Foresight gatherings and Nanoschmooze events, feeding my craving for the unfolding patterns that I will live through. Once in while I uncover sites like Edge.org, people like Gregor J. Rothfuss, and ideas like the Singularity that reshuffle my expectations.
And then I sigh.

apparently my little “how much can you take” test of futurology has been read 🙂