Archive for the ‘Technology’ Category

Function of the Day ::: Bijective Hexavigesimal Encoding in Ruby

Monday, January 2nd, 2012

Have you ever noticed how column headers are labeled using letters instead of numbers in a spread sheet? After running from A to Z, the sequence picks up with AA to AZ, then AAA to AAZ, and so forth.

This is a Base-26 (i.e. hexavigesimal) encoding, that doesn’t employ any of its symbols to represent zero (i.e. bijective). As such it is only defined for the Counting Numbers (i.e. 1, 2, 3, …)

This is can be implemented in the Ruby programming language with this utility function:

def bijective_hexavigesimal(n)

   #  Copyright 2012 by Peter J. Wasilko and The Institute for End User Computing, Inc.
   #
   #      Website: http://www.ieuc.org
   #
   #      Email:   info@ieuc.org
   #
   #   Converts a Counting Number to Bijective Hexavigesimal form.
   #
   #      Example: bijective_hexavigesimal(27) => "aa"
   #
   #      Tested under Ruby 1.9.3p0
   #
   #   Please use freely for any non-commercial purposes.
   #

   if ((n < 1) || !(n.is_a? Integer)) then
      raise "Bijective Hexavigesimal encoding is only defined for counting numbers"
   end

   alphabet = %w[a b c d e f g h i j k l m n o p q r s t u v w x y z]

   hexavigesimal_digits = []

   while (n > 0) do
      remainder = (n - 1).remainder 26
      hexavigesimal_digits.unshift alphabet[remainder]
      n = ((n + 1) - remainder) / 26
   end

   return hexavigesimal_digits.join.to_s

end

Tools of the Day ::: Algorithm Ink & StarLogo TNG

Friday, September 16th, 2011
Rounding out our look at algorithmic art, we commend to your attention a wonderful essay on ContextFree.js & Algorithm Ink: Making Art with Javascript and its associated gallery & interactive editor site, Algorithm Ink which extends the Context Free Art system we discussed earlier this week.

Also of significant interest is StarLogo TNG, which extends the basic StarLogo with a next generation Tile Based Interface which employs a stylized jigsaw puzzle metaphor inspired by the Scratch visual programming language to help users construct grammatically valid code. This approach can actually trace its origins back at least as far as E. P. Glinert’s proposed Pascal-BLOX rerpesentation of control structures in his paper, “Towards ‘Second Generation’ Interactive Graphical Programming Environments,” IEEE Workshop on Visual Languages (June 1986), pp. 61-70.

Tool of the Day ::: StarLogo

Thursday, September 15th, 2011
Another programmatic way of producing graphics with artistic potential is use a graphically oriented programming language to build a simple simulation whose emergent properties (i.e. how its rules play out over time) produce interesting effects.

The StarLogo language is ideally suited for such explorations, as is evident form the sample projects showcased on its website. Like our other tools this week, StarLogo features a simple IDE and plenty of documentation.

Tool of the Day ::: Context Free Art

Wednesday, September 14th, 2011

In keeping with this week’s theme of tools for creating artistic visualizations, one might want to consider using Context Free Art.

This system is particularly well suited to generating fractal graphics as is evident from its sample gallery, although it also features the ability to draw on randomness and probability to create even more organic looking images.

Tool of the Day ::: Nodebox 2

Tuesday, September 13th, 2011
NodeBox 2” bears considerable similarities to “Processing” in that both provide powerful environments for creating advanced visualizations.

However, “NodeBox 2” exposes the full power of the Python programming language and features a richer array of add on libraries that make it more suitable for use in some projects. It also supports an intriguing graphical data-flow programming language for connecting tiles representing various opperations as an alternative to writing raw Python source code.

Tool of the Day ::: Processing

Monday, September 12th, 2011
Processing” is a programming language and development environment for the creation of artistic visualizations with a very strong online user community. It has occasionally been employed as more of a scientific visualization tool for researchers in the humanities. The system was originally intended to teach programming concepts and it is well worth exploring in that regard.

In Memoriam of 9/11 ::: Through End User Computing, We Shall Never Forget.

Friday, September 9th, 2011

All too often we think of End User Computing in service of entertainment or business needs. But as we approach the tenth anniversary of the barbaric attacks against the World Trade Center we can see how much more meaningful it can be.

Consider the example of life long New Yorker, Brian August, who came to the troubling realization that people’s memories of the Twin Towers were beginning to slowly fade with time. Rather than sit by and watch us drift down a road that might one day lead to 9/11 deniers questioning whether they had really been there, he seized upon the potential of modern cell phones and tablets to determine their location and orientation in space to create 110 Stories.

110 Stories is a social application of augmented reality that lets users within sight of where the Twin Towers once stood to see a composite of today’s skyline with a stark outline of exactly where the towers would appear had they not been destroyed on that dark day.

As users experience the poignancy of seeing just how tall and massive they had once been and realizing the true magnitude of our loss, they are then invited to capture a photo of their augmented perspective and share their thoughts and stories through a linked website in fifty words.

Mr. August created this touching tribute by assembling a solid team of collaborators backed with End User and corporate contributed financial support permitting the App to be offered to the public free of charge.

We owe a great debt of gratitude to him, his colleagues, and all of the supporters of his landmark project.

And as always, we shall never forget those who perished because of any of the attacks on 9/11, nor those whose lives were touched by their loss.

Paper of the Day ::: How to Learn Programming Languages

Wednesday, September 7th, 2011

Students embarking on the study of computer programming, would do well to read How to Learn Programming Languages by Ben Deverett. This short article appearing in XRDS: Crossroads, The ACM Magazine for Students provides a nice overview of why there are many programming languages and how to approach learning one.

We find the advice to consider a language’s historical origins particularly wise, although we would beg to differ somewhat with Mr. Deverett’s recommendations to learn a popular language when you need to use it which seem to make the tacit assumption that you will doing so to turn out a demo or production system (in which context they make perfect sense).

Instead, we recommend that you start to develop a solid theoretical understanding of programming languages before deadlines loom. This is best achieved with a LISP dialect or through reading a solid comparative study of multiple languages.

Platform Peril ::: Convenience v. Control and the Meaning of Ownership

Friday, June 24th, 2011

Maintaining a real computer can be a serious annoyance at times. Regardless of which operating system you call home, you will be buffeted by an endless stream of security patches and upgrades and it never ceases to amaze us that no vendors have yet to launch marketing campaigns touting their ability to write secure bug free code!

Of course, even if a vendor writes quality code in house, glitches keep popping up in software libraries that are shared by countless client programs, causing the need to fix a bug in a single library to ripple through the eco-system. Moreover, since vendors don’t disclose where they get third party code or the exact nature of most patches, End Users can’t identify the original sources of the bugs or use that knowledge to procure code from more reliable programming houses.

Sadly, rather than tackling the root causes of low quality software on the desktop, we have seen a move by some platform vendors to leverage this sorry state of affairs as a way to seduce End Users into migrating to arguably more convenient systems that use contractual and architectural measures to trap their users in Walled Gardens, where no problem can be solved without making yet another purchase.

In return for transparent updates and backups along with the promised convenience of a curated store that will ostensibly hold a turnkey solution to our every need, we give up the power and generality that makes personal computing so transformative. Instead, of providing powerful means of abstraction and combination, we are faced with a thousand roach motels for our data which is always kept just out of reach.

Instead of empowering End Users and teaching them the sense of personal mastery that came with the Personal Computing Revolution, these new platforms breed dependence and centralize a level of power in the hands of platform vendors who now enjoy the power to kill disruptive technologies, censor their application, and effectively prevent End Users from exercising traditional rights of ownership to tweak and modify their property and freely contract with third parties. This weakens the meaning of ownership to the point that it looses all meaning.

Such systems are the technologies of George Orwell’s 1984 and End Users would be well advised be wary of the slippery slope on which we now tread.

David O’Toole raised some very cogent points in his blog posting Apps Considered Harmful: Part 1 that inspired these remarks and parallel our thinking.

Have You Upgraded Your Browser Lately? ::: An IEUC Website Progress Report

Wednesday, June 15th, 2011

We are hammering away behind the scenes on a major retooling of our website’s design and source code to embrace HTML 5 and CSS 3. There has been a lot of innovation in the browser space and we are doing our best to take advantage of it. As a result, we won’t be able to maintain our current level of support for older versions of Internet Explorer, but we really aren’t doing anyone any favors by helping them delay an upgrade to a more capable browser. As always, even if a page doesn’t look particularly aesthetic in an old browser, you should still be able to read its content. But seriously, why make yourself suffer? Upgrade to a current browser release now, so you’ll be able to fully enjoy our new site when we roll it out later this Summer!

Remember, current versions of the major browsers are all free and fast downloads for anyone with internet connectivity. For Mac Users, the latest incarnations of Safari, Chrome, and Firefox will serve you well. On Windows you can look forward to an impressive Internet Explorer 9 as well as Chrome and Firefox. Firefox and/or Chrome should already be pre-installed on current Linux distributions. Modern cell phones and tablets generally have mechanisms in place to keep their browsers updated and any new device is apt to provide strong support for emerging web standards.

Keeping any of these programs updated couldn’t be more painless or important since they are all undergoing very rapid evolution at this time. Each new release is adding new features that will noticeably improve your browsing experience as more sites like this one roll out HTML 5 & CSS 3 based designs.

Of course if you are dealing with a school, library, or corporate setting where you can’t just install it yourself, remind the IT Powers That Be, that running older browsers exposes their organizations to countless security vulnerabilities and reduces your productivity and access to important websites!

If you are a Screen Reader User, the situation is slightly more volatile, since HTML 5 support may take some time to arrive. We are doing our best to use the new features in a manner that won’t compromise your experience, but it is vital that you contact the developers of your Screen Reader of choice to let them know that support for HTML 5 features like its outline model are important to you.

Remember, your Assistive Technology Vendor is the one in the best position to improve your web surfing experience. It makes no sense to force web developers to delay rolling out support for improved standards that benefit everyone’s usability when a software upgrade on your part can yield a superior web surfing experience to that produced by millions of ill informed attempts to tweak web sites for compatibility with obsolete assistive technologies.

In many respects, today’s Web Browsers have become just as important a computing platform as the operating systems they run under. Beyond surfing the web, you can now find plugins that extend their capabilities to everything from helping you follow Twitter and Tweak to your friends, to managing the sea of academic citations that go into a Ph.D. Dissertation, to taking some of the pain out of developing web content of your own, to helping you blow off steam with cleaver in-browser puzzle games.

By allocating a few minutes each week to making sure your web browsers are up to date, you’ll be doing your part to make the World Wide Web work smoothly and securely while unlocking countless new possibilities!

Upgrade now and surf safely, the Web awaits!

A Simple Safari Multiple-Column Text Rendering Bug Fix

Tuesday, May 24th, 2011

In Safari Version 5.0.5 (6533.21.1) on the Mac, using CSS3 to generate multiple columns can lead to truly ugly artifacts if the last line before a column break contains prominent descenders. These are the portions of a lowercase g, j, p, q, or y that project below the “baseline” of your text.

Apparently, for some fonts and column widths, Safari will crop the bottoms off of these letter forms and display them at the top of the next column as if they were projecting down from an otherwise invisible line of text sitting above the actual column in your layout.

This effect can be suppressed by increasing the line height of your text to trigger this “rendered text image wrapping” bug with transparent pixels, which when shuffled to the top of the next column will remain blissfully invisible to your reader.

We have found that a simple css declaration of line-height:2em; did the trick for us. Depending on your choice of fonts and other typographical variable you may need to fiddle with this value to eliminate Safari’s display glitch, which will no doubt be corrected in a future release. Until then, slightly exaggerated vertical line spacing is a small price to pay for the convenience of multiple CSS3 columns.

 

How Apple tracks your location without consent, and why it matters

Wednesday, April 20th, 2011

How Apple tracks your location without consent, and why it matters.

Anyone using an iPhone should carefully read this article and consider its ramification.

Apple Arrogance

Wednesday, February 2nd, 2011
The latest evidence of growing Apple arrogance comes to us from BusinessInsider.com : “Apple Just Declared War On Amazon Kindle

End Users need to reject Apple’s business model of taking a 30% cut of “in application” content sales and recognize the degree to which such hidden expenses are disguising the trust cost of iDevice ownership.

As competing tablets reach End Users we trust that market forces will bring about an end to such overreaching practices.

Growing App Store Concerns

Tuesday, February 1st, 2011

It is now being reported by the New York Times that Apple has blocked Sony from releasing a Sony Reader app for iDevices via Apple’s App Store : “Apple Moves to Tighten Control of App Store”

Businessinsider.com put this quite succinctly : “WAR: Apple Blocks Sony E-Reader App, Kindle Might Be Next”

End Users and Antitrust Regulators should be deeply concerned by Apple’s growing efforts to tie purchases of their current hardware to future purchases of software and media content through their exclusive distribution channels.

To allow this approach to stand as a mater of public policy and common sense would be the equivalent of letting the manufacturer of a refrigerator dictate where one could shop for frozen food or letting car manufactures restrict which brands of gasoline could be used to fuel your vehicle while permitting both to get a cut of your future purchases inflating the price of every purchase without adding any real value in return.

Consumer electronics manufacturers shouldn’t be able to condition the purchase of software and content by End Users of their “platforms” on their receiving a cut of all such sales by restricting third party vendors from directly meeting their customers needs without going through them as an intermediary. The Apple model of a single sanctioned App Store serves as little more than a content tax and anti-competitive barrier that prevents other firms from competing with the platform vendor and its preferred business partners to offer improved quality and value.

Naturally, proponents of the App Store model will argue that it benefits consumers by providing a vital quality control filter, but this end could be achieved through a Certification Mark without intruding into the Freedom of Contract between End Users and Third Party Vendors.

In all likelihood, most End Users would still choose to go the official App Store route, but only by forcing hardware vendors to permit alternate app stores and convenient side loading of content and unmediated purchases of such content can we insure an honest market.

In no other product category would we even contemplate the notion that manufacturing a product entitles its original vendor to exercise this level of control over its use and the aftermarkets for its compliments.

End Users stand at a crossroads between one future where we continue to enjoy the benefits of the free markets that have brought us to where we are today and and a much darker world of monopoly-priced platform-locked content and utter subservience to the whims of platform vendors restricting what programs and content you can see and use to only those apps and media that fit into their self-serving marketing plans.

The battle lines are being drawn and we can’t necessarily count on the courts and government regulators to protect our interests if we willingly embrace products that try to leverage of convenience of an App Store model to enslave us.

Pre-Election Jitters — The Case for Mechanical Voting Machines

Monday, November 1st, 2010

Make no mistake, we love computers, especially where they are employed to give a measure of independence to people with disabilities.

They are remarkably fluid and can have their behavior changed on the fly possibly without leaving any forensic evidence of their previous configuration.

This makes us apprehensive of the potential for computerized election machines to be tampered with in ways that defy subsequent investigation. Indeed we are deeply troubled by radio reports that some of the new touch screen devices may be pre-selecting candidates of one party rather than presenting voters with a blank slate.

Equally troubling are reports of erroneous instructions on how to use the new voting machines and human factors issues that could lead voters to hit ‘enter’ after accidentally entering an over-vote, which would have the effect of disenfranchising them! Likewise, on other machines, there is a simple counter that indicates that some mark was scanned without any feedback for the voter to know that all of his or her ballot selections were picked up in the vote.

Moreover, given the ease with which a technically competent criminally minded election worker might be able to tamper with tomorrow’s election, we urge you to exercise extreme caution in using whatever configuration of voting device you are confronted with. Also, bring a camera or cell phone in with you if it is permitted so you can snap a photo to create a record of any screen layout that you think might have been tampered with and immediately raise the alarm with election officials.

Beyond the sheer cost of replacing our old fashioned voting machines with these new computerized systems — for non-disabled voters — their user interfaces are unduly complicated. Filling in little bubbles with markers will take much longer, be harder for our seniors, and be more stressful for all compared to the ease of pulling a physical lever in older voting machines. Moreover, those older mechanical systems were infinitely more tamper resistant than anything driven by a computer chip.

For those with disabilities we really like the new multi-modal systems and it makes perfect sense to have one of them at each polling place. But for the rest of us, lever based systems with their mechanical interlock to prevent over voting and the direct one-to-one correspondence between lever positions and reliably recorded votes have yet to be matched by the newer designs.

Newer is not always better and adding a computer to the mix doesn’t necessarily make for a better solution.

Accessible Mobile Phone Options for People Who Are Blind, Deaf-Blind, or Have Low Vision

Tuesday, September 28th, 2010
As is often the case for ordinary citizens who don’t spend their days trolling the Federal Register for notices of pending rule making, we are very late to the party in reporting that the time for input to the Federal Communications Commission on possible government action to make mobile phones accessible to disabled consumers is nearly closed.

Indeed there are only two days left for End Users to register comments on this issue which was presented as follows:

In this document, the Commission, via the Wireless Telecommunications Bureau and the Consumer and Governmental Affairs Bureau (“the Bureaus”), seeks input from all stakeholders in order to be fully informed on issues raised by consumers and to determine the appropriate next steps to achieve telecommunications access. The Bureaus seek input on the following issues: The wireless phone features and functions in the current marketplace that are not accessible for people who are blind, have vision loss, or are deaf-blind and the extent to which gaps in accessibility are preventing wireless communication access by these populations; the cost and feasibility of technical solutions to achieve wireless accessibility for these populations; reasons why there are not a greater number of wireless phones—particularly among less expensive or moderately-priced handset models—that are accessible to people who are blind or have vision loss; technical obstacles, if any, to making wireless technologies compatible with Braille displays, as well as the cost and feasibility of technical solutions to achieve other forms of compatibility with wireless products and services for people who are deaf-blind; recommendations on the most effective and efficient technical policy solutions for addressing the needs of consumers with vision disabilities, including those who are deaf-blind; and recommendations on actions that the Bureaus or the Commission should take to address the current lack of access. For example, is additional guidance needed on specific access features that should be included in wireless products? Should the Bureaus or the Commission facilitate a dialogue among stakeholders in order to reach a specific agreement to address the accessibility concerns outlined herein?

Naturally, the notion that mobile devices need to be fully accessible by those who are both deaf and blind probably strikes fear in the hearts of device developers given the tremendous design constraints any such mandate would entail. Whether we like it or not, current devices are designed around touch sensitive flat panels without any tactile controls beyond volume and power on/off. Voice input is a viable way to let the deaf-blind dial, but without dedicated hardware, it is hard to imagine that capability getting them very far. Moreover, even voice dialing will break down in extremely noisy environments and won’t do a thing for the deaf-blind-mute who are every bit as deserving of accommodation as the merely deaf-blind.

What we don’t want is to see is some naive attempt to limit technology development to a one-size-fits-all solution or to demand that vendors create in-house solutions for every conceivable permutation of disabilities as a pre-requisite to marketing products to the general public, since such moves would likely hobble innovation by driving good companies out or the market and driving up prices to the point than ever greater numbers of the poor, whether disabled or not, would no longer be able to afford them. An equally unpalatable solution would be yet another tax imposed on phone use to redistribute wealth to the users and developers of accessibility devices.

From both a technological and economic perspective, about the best we can hope to achieve through regulation would be a requirement that handset manufactures provide some sort of well documented I/O Port and/or wireless access interface and software API by which any user authorized accessibility device could assume control of the phone to place and receive calls. Then we could give a sizable tax break to companies building on those hooks and let the free market find the best forms of accommodation. Phone carriers could also help set up a non-profit entity to carry out pre-competitive accessibility research and channel voluntary public donations to subsidize phone purchases and use by the disabled.

That said, the last thing we at the Institute would want to do is to get into proposing legislative fixes since we represent many with varying views. If you want yours to be considered by the FCC, you only have two days left to act by submitting a formal comment.

Preserving Virtual Worlds Final Report

Thursday, September 23rd, 2010
The Preserving Virtual Worlds project (which was conducted under the auspices of the Library of Congress’ National Digital Information Infrastructure for
Preservation Program) has just released its Final Report addressing the many vexing questions of how to create archival copies of the content and surrounding infrastructure of platforms like Second Life. It also looks at the preservation of smaller works of Interactive Fiction.

Of particular interest in the report is its excellent, though somewhat small – for want of established case law, treatment of the Legal Issues surrounding the creation of software emulators for defunct platforms.

Software Bloat vs. App Overload

Tuesday, September 14th, 2010
In the early days of personal computing the ratio of Programmers to End Users was such that a new platform would only see a handful of applications in each category. With a new platform, like the original Macintosh we had MacWrite and MacPaint and later MacDraw and MacProject. These programs were open ended, feature incomplete by today’s standards, but you could do almost anything you needed to do using them.

As the market matured, new players arrived and everyone started larding on feature after feature to the point that a machine of the 90′s couldn’t boot without an order of magnitude more computing power than a top of the line mainframe of the 70′s.

Then with the emergence of small mobile devices, the monster applications could no longer be supported and the dedicated App was born. At first there were but a few and life seemed good. But by now, there are legions of programmers stampeding in a Gold Rush fever to churn out gazillions of Apps so each mobile platform can compete on the size of its App Store. But on small form factor devices this leads to a user interface nightmare of page upon page of admittedly gorgeous program icons to choose from, the Apps themselves are individually lean, but in aggregate waste vast amounts of storage supporting redundant functionality and there is no way to combine and leverage them.

Data interchange is dicy at best and the vendors really don’t care that their customers are constantly trying and abandoning incomplete half-baked solutions.

What End Users really need is a platform with a small number of extensible general purpose applications, so they can purchase those features they need from arbitrary vendors without loosing the overall interface simplicity required of a small format device. In short, we need to decouple purely functional bits of code (i.e. the features) from the GUI scaffolding that supports them (i.e. the applications) and let our End Users choose the feature sets and interface bindings that work best for them.

Site of the Day: Hacker News

Friday, September 10th, 2010
If you only have time to skim one news aggregator site, we strongly recommend Hacker News.

The Hacker News highlights a mix of stories ranging from hard core technology postings, patent wars on the legal front, the occasional spot to technology related political commentary, and a healthy sampling of topics related to launching high tech startups. Periodic pointers to postings with advice for students will be of particular interest to many of our readers.

The New York State Broadband Speed Test

Wednesday, September 8th, 2010
The State University of New York at Albany’s Center for Technology in Government is now partnering with the New York State Office of Cyber Security to conduct a survey of broadband internet access speeds throughout New York State.

If you are a New York State resident, we encourage you to visit the main project website to take part in this import research.

IBM Develops the World’s Fastest Microprocessor

Thursday, September 2nd, 2010

We applaud our neighbors at IBM for developing their new 5.2 GHz z196 Processor capable of processing 50 billion instructions per second using four cores and 1.4 billion transistors while only occupying 512-square millimeters of surface area.

The new chips were designed by IBM engineers in Poughkeepsie, New York with contributions from IBM labs in Austin, Texas and IBM’s overseas research arms in Germany, Israel, and India. They will be fabricated here in IBM’s state-of-the-art East Fishkill, New York facility, making this technology a sterling example of New York State’s growing prominence in the Computing Sector.

The z196 is slated to begin shipping for use in mainframe applications on September 10th.

In time we look forward to seeing this technology transition to the desktop where its staggering processing power will make it feasible to deploy ever more compute intensive user interfaces and applications.

Apple’s Spyware Patent and The Eternal Battle for Control

Friday, August 27th, 2010
The Electronic Frontier Foundation has just posted a piece entitled “Steve Jobs Is Watching You: Apple Seeking to Patent Spyware” on its Deeplinks Blog.

We urge you to read this stunning analysis of Apple’s patent application for a technique to personally identify its users through covert activation of a device’s audio and video capture hardware to identify the location of your Apple device, photograph its surroundings, possibly monitor your heart beat, record your communications and online activity, and disable your system (by wiping your device after sequestering your data on its remote servers) if you engage in “unauthorized” uses of your device even if they are perfectly legal.

This takes Steve Jobs’ transformation into a Big Brother figure to a whole new level.

Of course, in all fairness to Apple, this capability is ostensibly contemplated to recover stolen iPhones. Moreover, since Patents are a Monopoly Right to Prevent Others from Using a Technology, Apple could put a positive spin on this PR disaster by promising to not exercise this patent themselves and to use it to prevent other manufacturers from spying on their End Users, further insuring that Users are not punished for legally customizing systems that they have purchased.

But if the patent is really driven by such beneficence, Apple needs to make its intentions clear, ideally by opening its devices to arbitrary user-installed software to obviate the need for jail-breaking in the first place.

Given the level of deep reaching control that Mr. Jobs exerts over the company it is hard to believe that a patent of this scope covering such sensitive subject matter would be filed without his personal knowledge and approval.

The application also raises some interesting questions for owners of current Apple devices. Does current Apple hardware support the Spyware functionality contemplated by the patent applications, and if so, is such functionality present in any shipping Apple System Software?

Sadly, we may not longer control that which we own, making the only trustworthy devices non-networked ones.

So until definitive answers are had, End Users must assume that their Apple devices are subject to remote monitoring by corporate spymasters in Cupertino, that their microphones are always recording, and that the indicator lights on their built-in webcams cannot be trusted.

And make no mistake, if such hooks are in place for Apple’s use, it is only a matter of time before black hat hackers discover how to exploit them to look in on your bedroom or office.

We urge the Board of Directors of Apple to do some serious soul searching about what kind of a future they want to live in. No matter how desirable absolute control may seem in the short run, such power is fleeting.

In a matter of months, Android and Windows 7 Tablets will arrive to challenge the iPad. The iPhone is no longer the only game in town, and the Windows 7 and Linux operating systems offer a viable alternative to OS X.

It is not too late for Apple to step back from the precipice, but if it continues to display ever increasing levels of arrogance towards its End Users and Developers alike, a tipping point will be reached that will send the value of Apple stock plunging as its customer base evaporates.

The Case Against Robotics in the K-12 Curriculum

Thursday, August 5th, 2010
Robots are fun. Robots are cool. Kids love robots. So lets use robots to teach computer programming…..

So goes the common wisdom of many an educator. After all, it is so much more fun to make robotic dogs frolic than to do something as mundane as to write a traditional program.

But there is a real danger here, particularly in lower grades that a robotics course will either devolve into pure play or dead end in frustration turning students off to computing.

The biggest problems in teaching with real world robots are three fold.

First, it conflates programming engineering issues making it impossible to truly know if students are making a reasoning error in their code or are just encountering the unforgiving nature of physical reality. This is particularly apt to humiliate a student at a competition or demo in an environment with different ambient levels of heat, lighting, floor slipperiness, acoustic noise, physical geometry, ventilation system air flows (which can overpower the motors of a robotic blimp), the coincidental presence of target stimuli in the environment (e.g. someone wearing an electric orange T-Shirt that matches the hue of an artificial target) and radio frequency interference from other nearby projects. Any of these factors can prevent a system that worked one day from working on the next and the expertise needed to troubleshoot the resulting systems failure is apt to be beyond the keen of most instructors. Indeed, teams of graduate students have found themselves unable to ferret out the often multiple sources of such failures. So there is little doubt that most students would rapidly grow frustrated if they tried to use real robots as more than RC Cars to play with.

Second, working with tangible artifacts reduces the likelihood that students will develop the right intuitions for thinking about abstractions. Only the most disciplined instructor will be able to keep attention focused on deeper concepts like recursion and the environment model of evaluation with students chomping at the bit to make their bot do something. Instead, the path of least resistance will most likely take the form of simple imperative drag and drop tile based visual languages that will act as inverse parsers to insure that syntactically invalid programs can’t be composed in the first place. Abstraction support in such systems is usually rather limited and, aside from the now defunct Prograph data-flow oriented visual programming language, support for reflection and higher order programming constructs is all but unheard of.

The counter argument to this point is that the use of robotics grounds the curriculum in the real world and offers opportunities for students to look at the interrelationship of topics like Machine Vision, Probabilistic Reasoning, Physics Computations, Planning, and Multi-Agent System Design. (See Preparing Computer Science Students for the Robotics Revolution by David S. Touretzky – Communications of the ACM 8/2010 Vol. 53 No. 8 pp. 7-29 — N.B. an ACM Digital Library Account is required to access the ditial version of this article). The assumption here is that such topics can indeed be made accessible to students outside of graduate research labs. While this may eventually come to pass, Touretzky acknowledges that high school level robotics competitions like US FIRST “emphasize the mechanical engineering aspects of the field at the expense of computer science” and that the robots used in such programs “must be primarily teleoperated because students aren’t being taught the kind of software that would allow their robots to act autonomously.” [p. 28]

Third, there is the economic reality that robots are very expensive short lived devices whose widespread use in schools would drive up property taxes on the middle class and exacerbate the digital divide between rich and poor school districts. With prices ranging from six to sixteen hundred dollars per device, the inevitable desire to have enough robots for students to use them individually or in groups of no more than two or three, and the need to upgrade hardware every year or two to keep students competitive with their peers in other districts, the price of a robotics program could quickly skyrocket. Despite the overall downward trend in technology costs it is far more likely that successive models will offer more tech in the same price range than it is for them to offer the same tech at lower prices.

The digital divide aspect is particularly troubling since poor students will have to settle for relatively blind and deaf mobile boxes while rich students could experiment with sensor laden humanoid robots costing ten times as much.

Touretzky has demonstrated that advanced computing concepts can be integrated into a robotics programming toolkit and deployed by a world class professor at the undergraduate level, but for ordinary K – 12 End User teachers, the robotics path is fraught with danger.

Bearing these risks in mind, systems like Racket – a free scheme dialect with extensive pedagogical support and educator outreach programs – remain the best hope for promoting computing in our schools. If students still want to experiment with robots, there are a number of free hardware-optional simulations available like the Microsoft Robotics Developer Studio.

IBM Programming Languages Day 2010

Wednesday, June 2nd, 2010

CALL FOR SUBMISSIONS

IBM Programming Languages Day

July 29, 2010, Hawthorne NY

The eleventh annual Programming Languages Day will be held at the IBM Thomas J. Watson Research Center on Thursday, July 29, 2010. The day will be held in cooperation with the New Jersey and New England Programming Languages and Systems Seminars. The main goal of the event is to increase awareness of each other’s work, and to encourage interaction and collaboration.

The Programming Languages Day features a keynote presentation and approximately 8 regular presentations. Prof. Doug Lea, State University of New York at Oswego, will deliver the keynote presentation this year.

If you would like to present your work, please send a title and abstract to etorlak@us.ibm.com by June 23, 2010. Tutorials or joint presentations are welcomed. We also solicit input on topics or particular presentations that would be of interest to attendees.

Abstracts will be selected by a committee consisting of Adriana Compagnoni, Stevens Institute of Technology; Joshua Guttman, Worcester Polytechnic Institute; and Emina Torlak, IBM Research. Notification of accepted abstracts will be sent by approximately June 30, 2010.

You are welcome from 9AM onwards, and the keynote presentation will start at 10AM sharp. We expect the program to run until 4PM. The Programming Languages day will be held in room GN-F15 in the Hawthorne-1 building in Hawthorne, New York.

If you plan to attend the Programming Languages Day, please register by sending an e-mail with your name, affiliation, contact information, and dietary restrictions to etorlak@us.ibm.com so that we can plan for lunch and refreshments.

Important Dates:

Talk title and abstract deadline: June 23rd
Acceptance notification: June 30th
PL Day 2010: July 29th

Program committee:

Adriana Compagnoni, Stevens Institute of Technology
Joshua Guttman, Worcester Polytechnic Institute
Emina Torlak, IBM T.J. Watson Research Center

Compositional Freedom — The True Path to Simplicity

Monday, March 15th, 2010

Advocates of the iPad and its locked down single vendor store based kin contend that End Users will gladly trade a nearly complete loss of freedom for stripped down user interfaces with fewer bugs that save them from having to make choices. Gone are the days of General Purpose Computing, computers are destined to devolve into consumption oriented appliances where End Users will forever be paying for each and every scrap of restored functionality.

But there is another path. The path taken by programming languages like Lisp and Scheme and by internally extensible software applications like Spreadsheets (host to the most common form of End User Programming) and recent Hypertext environments. Such systems, offer a range of powerful primitives that can be combined in an infinite number of ways to meet any given End User’s personal needs. They empower End Users to craft their own solutions or to mix and match components from other sources. They don’t discriminate between commercial and non-commercial solutions, since no one economic model is best at meeting real world needs, nor can any one vendor know which tools are best.

An optimal workflow will often draw on both free and proprietary software and when found, it should be possible to encapsulate such a solution so it can be shared. Indeed, it is this sort of compositional freedom that holds the greatest potential to empower End Users and simplify life.