The Vandals of Rhode Island

Managing a public-access wiki is a little like trying to grow a garden in a land fill.  Every time you go to check on how things are doing, you find another pile of someone else's refuse piled on top of your stuff.  While digging the Wiki35 out from under a recent mudslide of online pharmaceutical and college-degree-purchasing spam scams, I found this page:


Sunbonnets
NOTICE: This page was created by a program as part of the Graffiti Network research project at Brown University. We have removed the data, but are unable to remove this page. We apologize for any inconveniences that our actions may have caused. For more information, please visit http://graffiti.cs.brown.edu/info/.


Our education wiki was spammed by Brown University's studious attempt at random vandalizing of public web sites.  What that spamming represented was more than just an attempt by a computer science's department to explore the feasibility of using random public sites to share distributed data.  It represented an arrogance that exceeds the skills developed by that department's faculty, students and staff.  The "information" web page that the embedded link points to claims that the defaced pages would be removed by April 11, 2009.  It also provides instructions for system administrator to remove the pages themselves in case the Brown University crew couldn't figure out how to undo what it had already done.  April 11 is long past and the page remained: the arrogant and ignorant Ivy Leaguers at Brown should probably have Hacking listed as their major areas of study: computer scientists they are not.


Hacking can take many forms and disguises.  When I did a DNS lookup on the offending host address, it did resolve to a Brown University listed address.  Maybe I should report the vandalism to ntg@brown.edu, but in a properly run network environment I shouldn't have to complain to their listed technical contact.  If Brown isn't aware of what its departments (or wayward students) are doing, they have little business being plugged into any external network.  While I realize that suggesting that Brown unplug itself from the internet is more fantasy than proposal, I am suggesting that using --or allowing to be used-- academic departments to exploit public resources harms the flow and availability of information.  Purposely defacing a website, despite the after-the-fact mea culpas, is the academic equivalent of burning books.


The next time I receive some heinous spam in my inbox or on my website, I'll wonder if it came from Rhode Island.

Reviewing iPhone App Reviews

I want Your iPhone apps to review!
Like the scary guy at the left (the NJIT mascot, the Highlander) is demanding, we want to review new iPhone applications.  The explosion of new apps in Apple's iPhone store has left one developer to comment as a guest lecturer in class:
"In order to get new iPhone applications reviewed, developers often now have to pay a site to review their software"

Paying to get anything reviewed is fundamentally appalling. The notion that fledgling (or veteran) application entrepreneurs have to shell out cash to get someone to evaluate their efforts is an unmitigated affront. It is also a POLA violation to the spirit of independent open source developers

Okay, so Apple's development/deployment process for iPhone applications is a far cast from real open source software development, but the process does intersect at points with the open source model:
  • The iPhone operating system is partly BSD based and inherits that open source license
  • The Software Development Kit (SDK) from Apple is free to download and use
  • Apple includes the iPhone Simulator to test features (not all) during development
  • It isn't the Free Software foundation's approach, but it certainly isn't Microsoft's approach, either.

    Apple does, however, require that developers register (currently $99) if they want the ability to deploy their apps on real hardware devices.  Along with a rigorous review of candidate apps designed to ensure that uploaded software meets the Apple standards, Apple also requires a single point of sale for developed applications (the AppStore), a 30% cut of the gross sales, and a Spring blizzard of paperwork to participate in the for-profit distribution of applications.

    Though it is relatively easy to jailbreak your device and bypass Apple's restrictions and use third party means to deploy and distribute applications, that ability hasn't slowed the deluge of apps that developers submit to Apple.  Foundering in that flood are developers who can't get their software reviewed on its merits by independent third parties.

    It is time to change that.

    Developers in search of a review may submit their apps to Serendipity35 for review, sans payola.  We have the necessary credentials to install applications on devices and publish honest reviews.  Interested developers can contact us at iReview at serendipity35.net.

    Get In Line for iPhone Online

    NJIT has announced the opening of registration for the first iPhone Application Development class available to the general public  and conducted  entirely online.  Taken from the for-credit class-section first offered by NJIT in the Spring 2009, the online syllabus contains development instruction, sample code, multi-media resources, and the documentation of the face-to-face offering.  Additionally, this professional development offering awards both CEU's (3) and an NJIT certificate upon successful completion of the class.  Students are required to have a Macintosh computer capable of running the latest iPhone Software Development Kit, an iPhone or an iPod Touch. Though not a pre-requisite to registration, participants in the class  will also be required to register as an developer with Apple, Inc.

    So much for the advertisement.

    The goal of this class is to produce independent, entrepreneurial code developers who can use their talents to develop skills that lead them into the realm of code-for-profit without having the developers  negotiate the daunting (and recently diminishing) corporate opportunities for application programming, and make some money from their independent effort and dedication.  Fostering independent initiatives is a departure from the NJIT instructive model.  Apart from the degree-oriented credit courses, even NJIT's non-credit offerings have been targeted at students who use their newly learned skills to get a job or enhance the jobs they may already have.  The iPhone application developer comes from an entirely different mold.

    Tonight's guest lecturer, Michael Hill of PrimoSpot software, is right out of that mold.  Coming from a background of web application development, Michael spent "a couple of months" learning Apple's Xcode and about a year as the only staff in his new company. He developed PrimoSpot --an application that displays car parking zones and parking availability in New York City.  Boston is the next target of his app with more cities to follow.  As PrimoSpot grows, the plan is to port it to other platforms with the Blackberry clearly in his crosshairs.  Automobile GPS units will not be far behind.

    For those who want to swim in this new entrepreneurial pool there are opportunities to learn.  Stanford University has released their iPhone curriculum for free download on iTunes, but there is more to learning to swim than reading a book about lifesaving. The  online iPhone class that NJIT is offering will support  step-by-step instructor-lead teaching and evaluation tailored to the student seeking effective professional development training.

    The online iPhone class will begin on May 11th and continue for 10 weeks and offer 30 hours of instruction.  More information is available via e-mail at: iphone@online.njit.edu.   There is an announcement mailing-list available, and a course summary.  The main page for the online offering is: http://online.njit.edu/moodle  and there is a direct link for class registration.


    Here's to an interesting and innovative Spring and Summer of iPhone code.



    Free Speech

    Way back in the latter part of the last millennium, I was a high school student studying German.  My language resources consisted of my teacher and my German grammar/textbook, Deutsh fur Amerikaner.  Nearly forty years after I first practiced the lines, I can still hear my teacher, Frau Petillo intone:

    "Klasse, wiederholen sie allezusammen...  Guten morgen, ich heisse Miller." and we'd repeat and respond: "ich heisse Brown"

    Moving on in our daily responsive in-class readings, Frau Petillo would ask our Brownian class which cabin we stayed at:

    "Welche Kabine haben Sie"?  and we'd all murmur "nummer neun" and Frau Petillo would clasp her hands in toe-curling joy and exclaim:

    "Dann sind wir Nachbarn!  Ich habe nummer zehn!"

    Yes, indeed, the times have changed since that snippet of secondary-school history.  Now, instead of cracking my grammar book to learn those dative case grabbing prepositions (aus, ausser, bei, mit nach, von zeit, zu), I could simply Google up an EduWeb resource and ignore the entire dative case,  or just hunt around and find  a site like Languages Online to study my prepositions and review my conjugations --if my mind didn't wander off into Indonesian.  I don't even have to buy a book; the sites and the resources are free.

    People who expect that the internet exists in English probably have never used UseNet or IRC; they may even think that the World Wide Web IS the Internet. Those people probably have not spent hours (or days) trying to beat some source code into submission while searching sites that, apparently, have just the insight you need to win the  Code War only to spend even more time trying to decipher the programmer's explanation in French..  or German... or Japanese...

    Though it still thrives on a fancy website, I have to assume that Esperanto just isn't going to be the global language that unites our global economy; it probably isn't going to be English, either, but that transition is probably many years away.  But forty years after she first taught me German I, Frau Petillo may be pouring over the German speaking UseNet NewsGroups and using IRC to IM her acquaintnces while she explains that steamships can NOT sail up the Weser River: "Die Weser ist nicht tief genug."

    Portable Serendipity35

    Type an m for mobile serendipity, iPhone style.

    I spend most of my weekends glued  to a chair with a Mac in my lap while I work on the iPhone Application Development content for the classes I teach Monday and Tuesday evenings at NJIT.  By nature I'm a system administrator and operating systems developer, not a client application programmer.  I've always been a lot more interested in delivering content from a central distribution program than building a standalone program that recreates server-side functionality on an individual piece of hardware.

    For a few hours over the past few weekends, I've managed to become sufficiently unglued from application development to spend some time constructing a true server-side delivery system for the iPhone, the iPod Touch and other mobile platforms to provide Serendiipty35 content.  First efforts were made using Apple's DashCode to deliver content, but that was too restrictive.  The webages produced were so dependent on iPhone conventions that the pages produced no clickable links when viewed from a conventional browser like Safari or Firefox. I never even tried to subject Internet Explorer to the webapp's URL.

    Serendipity can natively produce RSS newsfeeds in XML and since XML is platform (and browser) independent (and the Serendipity software supports plugin technology to extend its features), I thought that an XML based mobile browser was probably the way to proceed. At the time, I didn't realize just  how correct I was.  A lot of work had already been done on the backend code translation and the content display and even though most of it was in German, I was able to download significant parts of the plugin code and adapt it to what I was trying to do.

    After a break in the afternoon that had me scurrying out to get yet another iPhone SDK programming guide, I was able to finish editing the plugin code, build a new virtual host for serendipity35, create a name alias that allowed automatic redirection of content to a mobile site when a mobile browser was detected, and get the whole shooting match online.

    I don't have a mobile device besides the iPhone and the iPhone Simulator with which to view the site, but at least it is browsable (and functional) in both Firefox and Safari.  And besides the obvious functionality of having a true mobile device version of the Serendipity35 blog, it distracted me long enough from my other weekend task to enjoy a pretty big chunk of my day.