Tuesday, April 26, 2011

ASUS Wireless-N Router and Repeater

I just bought this handy little device, and I couldn't be happier. I've bought D-Link and Linksys in the past, and they've always managed to introduce some annoying complexity that I shouldn't have to deal with. But the ASUS was plug-and-play. I'm using it as a repeater and as a bridged physical switch. I plugged it in, turned it on, pressed the red button on the back and the corresponding button on my primary router, and then plugged my TiVo into the back. Boom, all set.

My signal strength on my Droid is now much better when I'm on the second floor, and Netflix has stopped stuttering. All is well with the world.

A shout-out to the Micro Center sales guy that pointed me at this device. You made my day.

Saturday, April 2, 2011

Toward an Open Source television studio

In the software world, Open Source software has won. The last holdouts are still fighting the good fight, but the idea that you develop software in the open, while building a business model around local extensions, support and professional services takes such a myriad of forms that it's now hard to imagine a world without Open Source. Apple, Google, IBM, Red Hat, Oracle, VMware... they all make heavy use of and contribute to Open Source software.

Many have tried to apply this model to other areas. Wikipedia is probably the best known example of a non-software Open Source project, but there are many others. In Japan there's even a virtual pop star whose music and videos are essentially a gigantic Open Source project. Today, I got to thinking about what Open Source television would be like, and I think it would be very interesting. Here's how I'd see it working:

A studio or consortium of studios develop a setting and some central players. Let's say you want to set a comedy in a business (like The Office). You develop a "bible," as the industry calls it, that describes the business in some detail; its important players, background and the elements of the world that it's in that differ from the real world, if any. Then, you write a second bible that describes the show in terms of main characters, the shape of any given episode and some of the stylistic signatures. You release the first part as Open Source (say, under CC-By-SA), but the second half is proprietary.

Each time you release and episode, the show itself is licensed as normal, but you revise the setting with any new details that you've developed in your show.

Legal concerns: Television is a complicated world, and there's certainly much more scrutiny of where ideas come from and who owns them than in other industries. Because of this, it might be necessary to build some protections into the licensing of the open source piece That's a hurdle, to be sure, but I don't think it's a very high one.

As time goes on, the creator studio can continue to build new open or proprietary content in this world, licensing it as they see fit. Others can publish open source shows, books or other media set in the same world, but they cannot re-use the specific characters or details from the proprietary shows.

This gives the broadest number of options to the original creators of the show, but if a vibrant ecosystem forms around this nucleus then it probably makes sense to start publishing new content as open source. After all, television makes its money on advertising, and there is still going to be a demand for seeing episodes when they first air, which drives the audience numbers, which yields ad revenue.

In terms of secondary revenue such as DVD sales, proprietary shows will still have control. Open source shows will not, but there are ways around that. Special boxed sets, signed by the cast, for example, could drive sales of the original (this brings up a point: it may also be necessary to modify the licensing such that open source shows can produce proprietary packaging for media sales).

Anyway, the idea is simple: by building a community around the development of your core intellectual property, you give up some control while gaining massive productivity multipliers. This is how Google and Apple are able to innovate so fast. It's why Oracle was able to step into the business of distributing their own operating system, literally overnight. This isn't an idea, it's a proven business model, and frankly, I believe it's one that every industry is going to have to adopt or find a way to compete with.

Friday, April 1, 2011

Clamchowder (ne Perl 6) to offer shell migration package

This was an April Fools post.


The rich history of Unix shell scripting is often overlooked by the community of "real programmers" who work in languages like C, C++, C#, Cobol, COMTRAN, CPL, Common Lisp, CLOS, CLIPS, Clojure, and even some lesser known languages which start with other letters. But this has left decades of important infrastructure tools unavailable to the average programmer without using an external command like "system" which is often considered a security risk due to the existence of "." in everyone's path.

As a result, the Perl 6 community has announced a new suite of tools that aid in converting old shell scripts into this modern language with all of the features one might expect, and all of the other ones also. This conversion is quite difficult, which is why most languages do not provide such a tool suite. The reason for this is that shell scripts inherently rely on external programs, so the language isn't just a set of syntax, but a semantic pallet that includes the entire operating system. Perl 6 resolves this problem by providing a unique module for every existing operating system revision.

For example, if your shells script was written to run under BSD 4.2 Unix variant, Ultrix, then you would run the conversion tool like so:

  shell6 --system=unix.bsd.ultrix bofh.sh

Which would produce an output script called "bofh.pl". This script maintains a close compatibility with the legacy system by providing an execution environment that mirrors the expectations of the script. It will first boot a Perl 6 version of the 4.2 BSD kernel. This kernel is actually hand-written in Parrot Byte Code (PBC) giving it the blazing speed of an interpreted byte code, far out-performing the original Ultrix VAX-based systems, when run on modern hardware.

Next, Perl attempts to simulate the expected idiosyncrasies of these legacy systems. Because the 1980s pre-dated the development of the World Wide Web, there was a far greater dependency on communications protocols like UUCP, Usenet and FTP which are not nearly as widely used today. Thus, the shell6 translator also creates a "news spool" and establishes a "bang path" connection to other users of the service over which to communicate and share observations about the latest episode of Automan, Star Trek: The Next Generation or Babylon 5 with the simulated sense of urgency that only Perl 6's hyper operators can bring.


There are, however, some problems. There are still a number of simulated environments in which scripts do not behave as expected. In most of these cases, it is believed that the legacy scripts in question may depend on the ability to compile and run code in programming languages that start with the letter "C". For those cases, the next revision of shell6 intends to have a full parser (written in Perl 6 rules) for each of the common versions of these languages, but don't expect that to be released just yet, as there may be some concerns about embedded assembly that will require a more robust approach which simulates the entire hardware platform.

As the title of this article implied, there is also a team investigating the value of moving Perl 6 from the "P" namespace (let's face it, no real language has ever had a name that started with "P") to the more prestigious  "C" namespace as "Clamchowder", so you may wish to begin using that name in all of your Perl 6 communications with colleagues. Final debate has already begun, but stalled on the options of "Clamchowder," "ClamChowder," "Clam-Chowder," or "Clam_Chowder." There is a small contingent of "clmchdr" advocates who claim that Perl's name should be golfed for great justice, but nobody is taking them seriously.

Yes, today is April 1.