Dispatches from Andyland "Your reality, sir, is lies and balderdash and I'm delighted to say that I have no grasp of it whatsoever!" — The Adventures of Baron Munchausen

February 28, 2006

Bob Brown’s introductory electronics Web Lectures

Filed under: Uncategorized — Andrew @ 6:04 pm

Bob Brown of Southern Polytechnic State University has a neat series of Electronic Circuits Web Lectures that describe electronics from simple electric circuits, through combinational circuits. The circuits are emulated using Javascript functions, which make it feel like you are interacting with the circuitry itself.

update:

I put this article here because I suggested a similar link to the Make: Blog. The published it here.

February 21, 2006

The Internet vs. Other media

Filed under: Uncategorized — Andrew @ 4:38 pm

I was in the kitchen at my office talking with co-workers over lunch. One co-worker had a story about his daughter and something about the standard Emergency Broadcast System messages. I started to follow up with the studio audience comment from yesterday, and another co-worker suddenly said “Aww, I heard this story already!”

    This brings up two points

  • Its amazing how the internet is killing all other forms of communications media, including office gossip and bullshitting around the kitchen table.
  • If I’m expected not to repeat any of my stories, someone should have told me years ago.

February 20, 2006

… and you may tell yourself, “My G-d, what have I done.”

Filed under: Uncategorized — Andrew @ 11:03 pm

Earlier today, Abbie, my four year old was trying to tell me something. Her older sister Sam was about to interrupt but Abbie cut her off by saying “No help from the studio audience, please!” I don’t think she was intentionally trying to be cute or funny. She just reached into that little four year old brain for the words that fit the concept “shh. please don’t interrupt me” but apparently all I have taught her so far, and all she has to draw from, are just old TV game show clichés.

Comparing Programming Languages

Filed under: Uncategorized — Andrew @ 10:39 pm

I was starting to write a post about the book “Mono: A Developers Guide”, but I kept on getting stuck when describing C#. Its easy enough to describe the languages feature in a list of bullet points. Or describe it in terms of some other language which it has some features in common. Once choosing a roughly comparable language (in C#’s case, the common target is Java) you can go over which features it has in addition to, or are omitted from the comparison language. The bullet point feature list has its flaws. Just saying that a language has a feature sometimes doesn’t describe how that aspect fits into the language design as a whole.

Sometimes what seems like differing names for what seems to be the same underlying concept gives hints to where the differences lie. The difference between calling member function as in C++ or a having message send invoking a method in Smalltalk or Objective C. Calling a method or calling a member function implies that there will always be a member to method that will be executed. When a language describes method invocation as sending a message, it implies that there may not actually be a method to handle it. Languages like Smalltalk, Objective C, and Perl an object gets notified if another object tries to call a method that doesn’t exist in itself or its ancestor classes. (Smalltalk’s doesNotUnderstand, Objective C’s doesNotRecognize and Perl’s AUTOLOAD method) Other languages have different methods of handing the situation. In Python and to some extent Java, the caller gets the error (since methods in Python a simply callable attributes on an object, attempting to fetch an unknown attribute from the object results in an AttributeError exception.)

Even how a call get attached to method says something about how a language designer integrates a feature like object-orientation to their language. The way C++ defaults to non-virtual method dispatch, Python’s diamond dispatch method resolution, or programming languages with Metaclasses that allow method dispatching to be altered. I used to think that a single inheritance and a singly rooted object hierarchy were intimately tied together. Its common, but its not so cut and dried (Apple’s Cocoa class library has everything derive from NSObject or NSRemote. NSRemote has the same interface as NSObject, but doesn’t derive from it. Perl essentially has everything implicitly derive from UNIVERSAL.) A language winds up being quite different if they treat the data of an object as “instance variables”, “fields”, or “member variables” as compared to if they are “object attributes” or “slots”. The first set tend to imply a statically defined.

Another interesting way of looking at programming languages is to compare what they have as basic language syntax and what they include as the standard library. A trap here is to simply measure it in quantity. I used to assume it went roughly in terms of lower level languages have less in the language itself, where higher level languages have more.

For the C language itself, you basically have some intrinsic data types, some looping and conditional execution construct, and the ability to group sections of code into subroutines. Pretty bare bones, and the line is drawn relatively sharply. Java inherited roughly the same constructs that C has, with some minor differences (adding booleans allowed them to change the definition of the looping and conditional constructs to a somewhat safer alternative) and added object oriented things (class definition, object creation and method calls), exception handling, thread synchronization constructs, and then in later versions things like generic programming features and annotations.

Perl has a real kitchen sink of features in the basic language itself, and a syntax that is loose enough to make code appear to be new language constructs (or replace built in language constructs with new code). Although it might make some Python developers cringe, things like Zope interfaces and declarative security show interesting aways of making code that looks like language additions. Ruby also has a syntax that leads itself to such syntax warping.

It isn’t quite accurate that low-level equals few base language features and higher level language means larger language. If you look at what Smalltalk has for its basic language, you pretty much only have method invocation. Loops and conditionals are actually methods on the boolean, collection, and number classes. Class creation is done by sending a message to the class object. Lisp can be just as bare bones. All you have is atoms, lists, and list evaluation, and everything is code built on top of that. I brought up the syntax warping aspects of Perl, Ruby, and Python, but Lisp has them all beat there. The macro capabilities of many Lisp dialects is intentionally designed for creating new language additions. Some of the odder pieces of the base Java language like thread synchronization and object serialization could have been built as macros in a language that has such features.

After coming up with these examples, I still can’t figure out how to describe programming languages and compare them. It seems like descriptions are often imprecise (whether “calling a method” in some language is “executing a virtual member function”, a “message send”, or “locating a subroutine via a blessed reference”) Comparisons seem to short change one side or the other.

I don’t know what else there is.

February 11, 2006

Newspaper vs. Web journalism

Filed under: Uncategorized — Andrew @ 12:06 am

A few weeks ago, a few people mentioned the WBUR piece titled Shrinking Globe (warning: RealAudio player required to listen to the segment) that was about the layoffs and buyouts at the Boston Globe, the circulation and revenue changes that drove them, and what the paper may look like in the future. One of the people they interviewed for the piece was a journalist named Tina Cassidy, who was one of the Globe reporters that took the buyout.

Maybe I’m taking Ms. Cassidy’s words too personally. Maybe WBUR took just the most inflamatory quotes to tell the story they wanted (although you would think that a journalist would be prepared for that.) Actually, even if she did have an axe to grind I really wouldn’t blame her. The first quote was:

I knew that I was facing longer days, and more work, and more pressure to contribute to the web and all at the same time making it quality, interesting journalism. It just just had this feeling of futility to it, and it just didn’t seem all that inspiring, the way it was even a couple of years ago.

I can understand her fustration about being forced to do more, and spend more time. If you read all the varied opinions of the future of newspapers (which I usually find on the web , ironically) no one believes the future of most newspapers is certain. What I don’t understand, however is why writing for the web needs to be done under coercion. If circulation of newspapers is declining, but readership on the web is rising, why not show an interest in having your work seen where the audience is moving to?

later she says

I think a lot of journalists under 40, especially at the Globe right now are trying to get a handle on what their future is going to be. When you start eliminating sections of the paper, and the national desk, you start to think that your options are limited, and that your job is just going to end up consisting writing three paragraph dispatches for the web.

This might get down to the main issue. This seems to imply that content written for the web is shorter, less in depth. There are studies, like those reported in Turning into digital goldfish that say that people spend less time on an article on the web, you can point to things like the Boston Globe’s Sidekick to show that even newspaper are trying to move to a model of shorter pieces. I do not believe that writing for the web means writing shorter pieces. Much of what I read on the web, like Groklaw, Wikipedia and essays from Tim O’Reilly and Paul Graham are as long or longer than your average newspaper article.

The newspaper on the other hand has space and deadline constraits that may limit what gets written and in what depth. When hearing Ms. Cassidy’s remarks, I kept on thinking of a certain series of articles in the Boston Globe, and the disconnect between what she was saying and the articles I saw were jarring.

A few months back, when walking from the parking lot to my office, I discovered that a portion of Congress Street was blocked off, and fire trucks, police cars, ambulences and TV station vans with video uplink equipment. Once I got to the office, I looked on Boston.com (where I work) to see if they had any information on what was going on. They did have something. On November 15, there was a four paragraph dispatch titled Methamphetamine lab found, Boston police say . There were articles on some TV news web sites, like WHDH’s Drug lab found in South Boston that had more content, but it wasn’t until later we found the accuracy was lacking.The next few days additional stories were published with additiona content. On 11/16 was Drug lab being dismanted and on 11/17 was Drug lab probe forces business closures. By 11/22 they were backing off of the “meth lab” claim with Lab made designer drugs, two say.

About a month after this started, the Boston Globe Magazine published a much more in depth article He died pusing the limits of art and life. In the magazine article, they bring up the claim of many of McCorkick’s friends that the drug making materials were for his personal use, not for distribution.

(for a different description of the events, see the Weekly Dig’s Inside the ‘Clan Lab’. It might closer in point of view to the Globe Magazine piece, but with some additional digs at how far wrong the early news reports were.)

It seems to me that the inital Boston Globe news reports were shorter than even the initial TV news reports. I assume because it had to be filed under deadline. Its a shame that everyone’s initial reports were inaccurate. I don’t quite see the difference between the futility of writing “a three paragraph dispatch for the web” and the first reports that were seen in the Boston Globe. (and I wouldn’t buy that the story was rushed into the paper so that it could be seen on the web. Most of the early competitors they seemed to be trying to beat out would be the television news stations.) The first couple of days while Congress Street was closed I tried to convince co-workers that although the initial report was shorter than other news stories, the later stories had more coverage, and that showed the advantages of newspaper reporting. Unfortunately, as time went on I discovered that the added length of some of the later articles didn’t add to their accuracy. I don’t see how the material published in the newspaper couldn’t have been published on the web, and in some ways it may have prevented itself from being as inaccurate. (If the newspaper didn’t have the deadline to finish the story for 11/15, they would have had a much information as the WHDH piece. If they didn’t need to keep up with other news sources, they may not have the longer even more inaccurate pieces on 11/16 and 11/17, and may have just published the starting to be more accurate version on 11/18.)

Powered by WordPress