Sunday, May 11, 2014

deeply encoding real-world knowledge and experience

Why code?

That might seem like a strange question for someone like myself to be asking, but it's an important one.

It has become clear to many educators that some facility with data structures, algorithms, and user interfaces has become an important aspect of literacy. While this is a welcome development, it is nevertheless important to ask "to what end?"

Is it necessary, or even desirable, for all of today's K-12 students to grow up to be programmers? Clearly not. Not only are there many other positions which will need to be filled, but, beyond relatively trivial examples, programming is a subtle craft requiring a concurrence of aptitude, attitude, and knowledge to achieve useful results, and most people who are not professional programmers, even if they know enough to put together working code, are, in most instances, better off leaving the coding to the professionals.

Nevertheless, early exposure can tune one's attitude, and improve one's aptitude and one's chances for accumulating the necessary knowledge. At least as importantly, it will also serve to identify those with a particular gift for coding sooner than would otherwise be the case. But there is value in that exposure that has very little to do with preparation for direct involvement in future programming projects, and a great deal to do with learning to think rationally and to communicate with precision.

Those skills are generally applicable, in all manner of vocations, for reasons having nothing to do with computing, but they become particularly important as decisions formerly made and tasks formerly performed by humans become the purview of machines, whether computers or robots.

For each such real-world context into which some degree of automation is to be introduced, it is vital that there be at least one person who is adept or able to interpret for those who are, and possesses the clarity of thought and expression to guide those who are tasked with developing those cybernetic systems. Without such guidance, in the vast majority of cases, automation also means a sacrifice of competence, as even senior engineers are rarely also domain experts, outside of their specialities, which may or may not apply to the project at hand.

By insisting that all students have some exposure to programming, we are improving the chances of such a person being available to guide the next expansion of the domain of automation, and the next, and the next, and thereby improve the chances that the knowledge and skills of contextual experts will be preserved in the process.

Tuesday, May 06, 2014

passengers demand to be paid for riding first class

Internet backbone provider Level 3 reports that six of the internet service providers it connects to have allowed those connections to remain continuously congested, and that these same ISPs are insisting that Level 3 should be paying them for access to their networks.

[Insert sound of loud, annoying buzzer.]

The problem with this is that it's backwards. If anyone should be paying for access to a network, it ought to be the companies with subscriber income paying the backbone providers, not the other way around.

Wake up and smell the stench of irrational overreaching, people!

Friday, May 02, 2014

if you could only attend one of the two?

The 2014 Apple Worldwide Developer Conference (WWDC) opens June 2nd, in San Francisco, at which the company is widely expected to have something more to say about its reportedly health-related 'iWatch' product. Arch-competitor Samsung just announced its own health-related event five days earlier, also in San Francisco.

I have to wonder just who Samsung thinks is going to attend their event. Local tech journalists with nothing better to do, obviously, but what if you were a tech journalist based somewhere further away than San Jose or Sacramento, and weren't already planning to spend the week leading up to WWDC seeing the sights of San Francisco, and had invitations to both events, but could only reasonably attend one of them, which one would you choose? For most, the choice would be obvious, and it wouldn't be Samsung.

We can presume the coverage of the Samsung event will come from 1) locals, 2) junior staffers sent by their editors, and perhaps 3) a vacationing pundit or two.

So why is Samsung going to the trouble when the most likely outcome is that their event will serve as a set, which merely lofts the ball for Apple's spike?

I see three ways in which Samsung stands to benefit.

If Apple makes no mention of anything resembling an 'iWatch' in the public keynote which opens WWDC, then, for a few weeks or months, Samsung looks like the company that's actually doing something about health, and gains a degree of credibility for being in the market from the beginning, when in fact they are very late entrants.

If, on the other hand, Apple does introduce the 'iWatch', Samsung's event will serve to focus even more attention on it than would have otherwise been the case, drumming up even more hype, and, presumably, expanding the size of the potential market for health-related devices in general, of which Samsung might reasonably expect to eventually inherit a sizable chunk.

However, the real coup for Samsung would be if the state of readiness of the 'iWatch' project is such that Apple would prefer to delay its announcement, but, having been thus challenged by Samsung, opt to go ahead with a pre-announcement, even though product availability is still months away, thus providing Samsung with both a clear target and time enough to pull off one of their rapid cloning acts.

Very clever, actually.

Wednesday, April 23, 2014

the departure of Apple's yes-men

Much has been made of the turnover at Apple since the death of Steve Jobs, with more than a few concluding that Apple's time of amazing success is over, to be replaced by either stagnation or decay. Steve was the source of innovation within the company, they argue, and without him Apple is doomed.

There's no doubt that Steve was a genius, in his own way, and that Apple's turnaround and rapid ascension to contend for the title of most valuable company in the world was, in no small part, his doing. On the other hand, as much as he relished being surrounded by brilliant minds who could steal the spotlight from him, there is a strong tendency for such powerful leaders to become encrusted with others for whom the truth is whatever the leader says it is, who contribute little more than amplification of that leader's insights and predilections.

No more. Those days are gone at Apple, or at least so dramatically altered as to require a wholesale changing of the guard. Tim Cook may not have Steve's charisma, but neither is he as susceptible to flattery, and, as long-time operations chief, he has a great deal of practice in peering through pretense to gauge whether a person, partner firm, or product proposal contributes to the company's health or degrades it.

Any who made a career of being a yes-man for Steve would have a very hard time of it in today's Apple, and I would like to suggest that underlies the departure of at least a few from the company.

Sunday, March 30, 2014

please rebrand Facebook!

Facebook obviously isn't going away, despite having paid far too much for WhatsApp.

So, please, before doing so becomes even more difficult, find a new name for it!

"Facebook" derives directly from the company's origins, but, frankly, it sucks as a name.

My preference, given their recent purchase of Oculus, would be "The Rift", but almost anything would be preferable to "Facebook".

Saturday, March 29, 2014

the myth of unitary authority

"Them" – we've all heard, and probably said it, thousands of times, that vague reference to those who are really in control, whoever they might be.

I no longer believe in "Them", at least not in the sense of a single, mutually aware group occupying the top of the pecking order for all purposes.

Sure, there are people who wield more power than others, particularly in specific contexts, but there are millions of them, and taken together they are so far from being a united force in human affairs that the notion is frankly laughable. Even "Citizens United" only come close to actually being of one mind on a very narrow range of issues. Outside of that context, they're all over the map.

My advice? Spend less time worrying over what "They" might be up to, and more time and energy on figuring out what we all need to be doing in this epoch, and how you can contribute to that.

Thursday, March 27, 2014

making more efficient use of real-world data bandwidths

UPDATE: Almost simultaneously with my posting this, Microsoft announced Word, Excel, and PowerPoint for iPad. While editing requires an Office 365 Home subscription, the free apps work as viewers without that, so they have essentially just shipped a free PowerPoint viewer for iPad. My recommendation? Get Keynote instead. It's fully functional for $10, and it also works as a PowerPoint viewer.

While all of us not in the business or holding stock in one of the major broadband providers would like them to both drop prices and raise the bandwidth above the threshold where it becomes meaningless as a constraint on internet use, we shouldn't be holding our proverbial breath. Prices charged to consumers may come down, and overall bandwidth will surely continue to rise, but unless the FCC sees its way clear to declare data transmission a utility, and those that provide it common carriers, savings to consumers will likely be more than offset by charges to content providers for the full-speed access to networks they require to remain competitive, and those charges will necessarily be passed along to consumers, except where the content providers' price structures already provide sufficient wiggle room to absorb them.

This mainly affects the delivery of streaming media, streaming video in particular, which needs uninterrupted bandwidth to perform as expected. Buffering can help, but to really be sure that a playback won't balk halfway through, the entire program or movie needs to be buffered, which is no longer streaming.

Part of the problem with both streaming media and play on demand is that each instance of delivery is a separate transmission. Multiple data centers allow a content provider to originate transmissions more locally, but thousands of store-and-forward nodes would be required to make them truly local, and the cost of so many network connections at that level could very well prove exorbitant.

An option as old as programmable VCRs is to record the programs you want from a broadcast stream, for later viewing. Digital equivalents exist, but my impression is that they really don't do anything to enhance the quality, like capturing files complete with adequate error correction out of the digital cable stream.

If you could capture a bit-perfect file from a broadcast stream, and I'm certain it's possible, that file could also be encrypted, facilitating paid high-quality content.

While I'm on the subject, I'd also like to mention the glaring absence of a standard multimedia format that combines video sequences, still photos, transitions, programmed graphics and animations, audio, and so forth, using no more data than is required for each. There's Flash, but if it were easy to use why do we see narrated slideshows recorded as video? There's PowerPoint and Keynote, but the same objection applies. Quicktime may have come closer to providing a cross-platform solution than anything else, and if it were to be transformed into a player for Keynote files (including video as a media type) and made available on Android in addition to Apple's platforms and Windows, that might be the best available solution.

With this foundation, Apple would be in a position to challenge YouTube, by providing a better experience per bandwidth consumed, while providing yet another reason for content creators to own a Mac.

Sunday, March 16, 2014

work, why I don't write about it, and the prospects for turning it into a game

I have a great deal of experience in a relatively narrow niche of public transit: cities with populations of around 100,000, with particular emphasis on the operation of a circulator route, with no fixed schedule, which connects major destinations and other bus routes, using GPS technology that was state of the art fifteen years ago.

At first glance, my job is all about the positions of buses relative to the other buses going the same direction (clockwise or counterclockwise), and the frequency with which they pass each stop along the route, but dig a little deeper and it ends up being mainly about people.

There are a few things I could say about the purely operational layer, without getting into personalities, but nothing very interesting, so there's no point in pursuing it, unless perhaps I were to transform it into a game.

Such a game might be an excellent way of training others to do what I do. It could also constitute a big step toward the creation of better tools to support that work, even automating parts of it, improving overall performance. However, considering my age and how focused I am on other things, it's doubtful that I'll ever get around to writing it.

In case you're motivated to take up this challenge, I'd just like to say that, in the ideal case, such a game wouldn't be tied to any particular geography, but would be configurable for whatever real (or imaginary) context the user chooses. Elements of the game might include the number of buses on route (each direction if bidirectional), traffic signals, the patterns in which consecutive signals are linked, the alteration of those patterns through the day and by day of the week, the probability of having to wait through more than a single cycle of some particular signal due to backed-up traffic, the placement of stops and the probability of a passenger showing up at any particular stop at various times of the day/week, where the boarding passengers are likely to want to get off, inherent instabilities in the regularity of buses passing particular stops, and a toolkit of techniques to rectify irregularities.

There's quite a lot more that could be included, but these are the most basic factors, and more than enough to take on for a first pass.

Wednesday, March 05, 2014

the broader applicability of "cell-phone technology"

Update: An article with a similar thesis was published earlier today (Tuesday, March 18th) on Robohub.

As Microsoft discovered with the Kinect, something developed for a particular context may prove very desirable in other contexts.

For example, consider the tiny cameras that are used in most cell phones, and particularly the better of these, like those used in iPhones. Despite their size, they are very capable, and they are made by the millions, taking full advantage of the economies of scale implied. Despite the rather complex design, with multiple lens elements, Apple's cost for one of these is a few dollars.

For another example, consider the M7 motion coprocessor in the iPhone 5s, also fabricated by the millions. It independently tracks motion, making it unnecessary for the CPU to be powered up to handle such tasks, extending battery life while making continuous tracking more practical.

Both of these technologies would be very helpful in many robotic applications. Sure, there might be alternatives for both, but would they be as thoroughly engineered, as efficient, as compact, or produced in anything like the same numbers?

If you want to take advantage of technologies developed for a mass market, the most direct path to doing so is to make use of the actual parts used in that market. Of course, a prerequisite for doing so is that those parts be made available outside of the supply stream for the products they were developed to be part of.

Sunday, March 02, 2014

OpenNI website to close

UPDATE (March 25th): A related article just appeared on Robohub.

Okay, some things are changing at PrimeSense.

According to this post on I Programmer, the OpenNI website is set to close on April 23rd, just over seven weeks from now, plenty of time for those involved to download the latest version of the SDK, which they'll want to do as I see that the version sitting on the parallel GitHub site is not the latest beta, more likely the latest stable release.

If you have another look at the OpenNI website, you'll notice that there are Windows and Linux versions of the SDK. Considering that Apple has no clear interest in supporting development of the software on these platforms, the wonder is that those versions are still there, months after their acquisition of PrimeSense, not that they have set a date for pulling the plug on the OpenNI website.

Anyone who cares to will be able to pursue development of the (necessarily forked) version of the SDK that will continue to be available through GitHub, on whatever platform they choose. Being middleware, even if Apple were to cut off the supply of PrimeSense chips, OpenNI will continue to have value as it should be possible to make it work with other sensing hardware.

For their part, Apple is sure to make a derivative version of the SDK available through their iOS and/or OSX frameworks (eventually both, undoubtedly), as part of some future version of Xcode.

In my view, Apple's enlightened self-interest would dictate that they should continue to make PrimeSense chips available, not the latest designs of course, but about two years after they first find their way into Apple products, by which time they will have been reverse-engineered by competitors multiple times anyway. If Apple can maintain a technological lead, then their two year old designs should still be competitive with current designs from competitors, especially if priced at a low multiple of the cost of production. Likewise, they could safely contribute two year old frameworks to the GitHub-hosted OpenNI project, in the certainty that in doing so they would not be giving away any secrets.

By the same reasoning it could be to Apple's benefit to make their older SoC designs available as parts – say beginning with the A4, after it has been retired from Apple's product line – and to cooperate with smaller companies seeking to incorporate those chips into microcontrollers or similar products. This would be a way of recovering residual value from the expense of developing those designs in the first place.