March 22, 2013

Google Reader Takeout Reader

Filed under: Consumer, Information Politics, Software Blog — marcstober @ 7:24 am

Enough inkelectrons have been spilled over the Google Reader sunset. I simply offer a simple tool to take your Google Reader data from Google Takeout and convert it into a nicely formatted list of links to browse and re-bookmark/subscribe in your new favorite service (or save as a backup, even if you’ve found a new feed reading service).

Using it is as simple as unzipping your takeout file and dropping a file into the same folder.

  1. Unzip your takeout file.
  2. Download the file (right-click and “Save Link As…”) below and drop it in the Reader directory you just created (the one that has the JSON and XML files from Google).
    reader.html
  3. Double-click on the reader.html file in that directory.

This only displays part of your Google Reader Takeout data. Do not delete any other files!!!

No warranties, express or implied. None of the data in your takeout file is uploaded to me (although I may track usage of this tool).

March 3, 2013

Usability, Backward-Compatibility, and “Three-Way” Light Switches

Filed under: Design, House Blog, Usability — marcstober @ 8:40 pm

My nine-year-old daughter commented the other day that it was confusing to turn off the living room lights because you couldn’t just push it down to turn it off, sometimes you had to push it up and sometimes you had to push it down.

Indeed. It’s a so-called “three-way” switch, the biggest crime against usability that’s been foisted upon the world. These are the type of switches you use to control a light from two locations, like both ends of a hall. They look just like a classic light switch, that you push up to turn on and down to turn off; and they sometimes work the same (at least from the user’s perspective), but other times, depending on the state of the opposite switch, they work the opposite way. To add insult to injury, they’re called “three-way” switches when they can only be used in two locations. (Three-way refers to the wiring, with three instead of the usual two wires inside. In the rare occasion you need three switches, are you surprised that you need a four-way switch?)

As an aside, the typical toggle switch doesn’t offend me. Paddle switches with screwless wallplates are nice, but not necessary; I just want to fix the usability issue.

One solution would be a single push-button switch. In an example of what was old is now again, the 1950’s house I lived in as a child in the 1980’s had Honeywell Tap-Lite switches. (At least it did at first, my first exposure to electrical wiring was when my dad had to replace some 30 year old switches that failed.) Recently, Legrand has introduced push-button switches in its Adorne line. I think I might use these in my house.

An even better solution would be a switch that you could simply always push down to turn off. It could spring back to the center position, so if the switch at other end of the room was used it wouldn’t end up in the wrong position. But I haven’t seen such a switch for normal residential use.

The amazing thing is that all these switches are backward compatible. The living room switches above were a replacement for the original 1920’s two-button switches that failed after over 90 years of service! I like the character of those old switches (and there are reproductions available now), although the three-way version did have the same usability issue. But, I was able to swap out the 90 year old part with little more than a screwdriver. I think about this when I see USB charging ports that you can hard wire into your house now–will any new hardware and software of today be as compatible at the dawn of the 22nd century?

November 13, 2012

NEMUG Presentation on Test Driven Development

Filed under: Software Blog — marcstober @ 6:00 pm

View tonight’s presentation to NEMUG entitled “Test Driven Development with %UnitTest.”

Download as a ZIP file.

November 7, 2012

The Right to Tinker and Make Stuff

Filed under: Consumer, Politics, Software Blog, Uncategorized — marcstober @ 9:16 am

I’m amazed by the overwhelming 85% support for Question 1, “Right to Repair,” in Massachusetts.

Here’s a summary of the question (from boston.com):

Should auto makers be required to give owners access to the same diagnostic and repair information that dealers and authorized repair facilities have?

I suppose people will vote yes on this because they expect it will hit them in the pocketbook when they get their car serviced. But it’s also a vindication that people don’t think it’s wrong, and shouldn’t be illegal, to do what you want with stuff you’ve bought. I thought maybe I was crazy or at least living in a tech bubble from hearing that our elected leaders favor things like SOPA or TPP. Years ago I wrote to Barney Frank on the issue, and he strongly disagreed with me. And what to make of Chris Dodd’s new job?

Now, here are some more referendums I’d like to see pass:

  • People should have the right to jailbreak their devices. (This is now legal for iPhones–but not iPads nor other devices–because of a bureaucratic exception, not by right in the law.)
  • People should have the right to copy DVD’s to their iPad (without paying extra for a “digital copy,” like I did with the last DVD I bought).
  • People should have the right to keep, permanently, a book they’ve bought on their Kindle; it’s not a rental.
  • People should have the right to bring a book home with them from an overseas trip. It should be clear in the law this isn’t the same as a mass counterfeiting operation.
  • People should have the right to put their dancing baby video on the Internet without licensing the music on the radio in the background.
  • Girl Scouts should have the right to sing Happy Birthday at camp, without relying on the forebearance of those who could sue them.
  • People should have the right to create their own prayerbook with their church/synagogue’s liturgy, and not be told not to share it.

By the way, I don’t jailbreak my iPhone, and I take my car to the dealer for service. But I like to have that choice.

October 31, 2012

A Response About Ephemera From a Software Developer

Filed under: Software Blog — marcstober @ 5:36 am

The cover story of the Ideas section in this past Sunday’s Boston Globe talks about how academics use ephemera—for example, handwritten notes in the margins of books—and whether anything like it will survive from the digital age.

Those of us who create digital information technology, software engineers, understand the problem well and have our own solutions. Most software code is still written in simple text files, or encoded in open formats like XML. Every computer language has a way to insert comments, so its author can explain what they were thinking. We use version control so there’s a record of earlier drafts of our work. And we often publish our work as open source on sites like GitHub so that those who come after us will be able to use our work.

Why don’t other fields do the same?

July 8, 2012

Seeking Upside: Why I Care About Intellectual Property (and a Recent Court Decision)

Filed under: Business, Consumer, Economics, Information Politics, Politics, Software Blog — marcstober @ 9:54 am

I’ve long been a fan of open-source software. First of all, because you don’t have to pay for it, and who isn’t a fan of free? Second, even compared to closed-source free software, I prefer open, because I can rely on it. I might never look at the source code, but knowing that one can gives me some assurance that there isn’t anything bad (spyware, viruses) hiding and that I can continue using the software even if the original author stops providing upgrades or takes his business in a different direction.

Like a lot of other people in the technology industry, I aslo tend to see free software as something more than that, as a moral good, and intellectual property (IP) rights like a dangerous weapon that needs to be controlled. (With apologies to the NRA: “Patents and copyrights don’t kill innovation, patent and copyright holders do.”)

And after a lot of reflection on the matter, I’ve figured out why I feel this way: I have no personal upside. I don’t make money from IP rights. And on the downside, and I can lose money when others decide to exercise their IP rights. That doesn’t seem fair.

Here’s a thought experiment: If, like a songwriter represented by ASCAP, I got regular royalty checks for each line of code still in production that I’d written at some job years ago, would I feel differently? Or if I was guaranteed an on-screen credit and chance at an Oscar like a union technician in a Hollywood movie?

But I’m not complaining. I have a good job and make a decent living. If I stop working for my current employer, they own that work I’ve done, and that seems fair; I was reasonably paid for providing a service. But, while I’m not making money from licensing IP, I still have the downside of costs and risk of licensing it from others.

And writing software is, in my opinion, providing a service. Software has a pretty short half-life, and whether you hire developers to write software to use or to sell, you need to keep developers on the payroll to be valued as a software shop. No one is making money selling two-year-old software, at least not without ongoing investment in upgrades and support.

Judge Richard Posner of the 7th U.S. Circuit Court of Appeals in Chicago came to basically the same conclusion recently:

Advances in software and other industries cost much less, he said, and the companies benefit tremendously from being first in the market with gadgets — a benefit they would still get if there were no software patents. “It’s not clear that we really need patents in most industries,” he said. “Also, devices like smartphones have thousands of component features, and they all receive legal protection. You just have this proliferation of patents,” Posner said. “It’s a problem.”

via Judge Posner: U.S. patent system out of sync – chicagotribune.com.

It was wonderful to see our legal system take this view, which I’d usually associate with underdog advocates who can’t actually afford a day in court.

I’m not against all forms of intellectual property or its strict enforcement. I don’t support piracy or counterfeiting; that’s legally and morally wrong and I think it’s unfortunate that the cause of online freedom sometimes gets mixed up in defending it. Nevertheless, I see IP as a modern policy construct, not in the same category as the biblical “thou shalt not steal.” A purpose of IP is to encourage investment in innovation by providing investors with a better return, and laws should be calibrated so they’re fair to all.

Perhaps I need to find a way to own some IP that can generate some returns. Then again, perhaps creating IP, not owning it, is more fun.


Creative Commons License
This post is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

June 3, 2012

Does Rabbi Steinsaltz Dream of Open Source Talmud?

Filed under: Judaism, Software Blog — marcstober @ 9:12 pm

Some of you might know I started another blog for my “Jewish tech” stuff. I wanted to share the latest post with you:

They say the Talmud is like a discussion among rabbis of different generations who could never have met. Well, Rabbi Adin Steinsaltz and venture capitalist Fred Wilson are both living, but I doubt they’ve met. But after reading a review of Steinsaltz’s new Hebrew/English Talmud, and then seeing this interview with Wilson about online content and the future of that business and copyright (20 minutes, worth watching), I’m imagining it in my head.

Keep reading: “Does Rabbi Steinsaltz Dream of Open Source Talmud?” on the JHacker blog..

March 9, 2012

Ki Tisa: Individual health insurance mandate and patient registration?

Filed under: Judaism, Software Blog — marcstober @ 10:29 am

For the past five years of my career I’ve worked on a patient registration system. It keeps track of millions of people for both clinical care and insurance reimbursement. So, when I started to practice my Torah reading for this week’s Ruach Shabbat Family Service (please come!), I couldn’t help thinking it sounded familiar:

When you take a headcount of the Israelites, to register them, for each man give a soul-payment to God to register them, that they will not get a plague by being registered. Those on the registry will give a half-shekel… (Exodus 30:12-13, my translation)

As Jews, we believe that every word in the Torah has meaning. (It better, since I have to basically memorize the cantillation of the reading! :)) I found a few things interesting.

The reason for donation is to avoid a plague. Today, spirituality complements modern medicine, but ancients really believed religious acts could cure physical illness–pre-modern religious leaders were sometimes even keepers of herbal remedies, etc. This sounds a lot like health insurance.

They are only asked for a half shekel. “Half” here has always meant to me that people are not asked to pay their share. There are other campaigns (such as to build the Temple, that we read a few weeks ago) where some give less and some give more, but the half shekel is the same for everyone. Thus, there is value to being a taxpayer even if you take more than you pay in. In modern terms, yes, liberals, some people need public assistance, and yes, conservatives, everyone should be responsible for paying something.

A more subtle point I notice from my IT experience is the focus on individual registrations rather than a count, which are not the same. In a small group, you know each person as an individual and you can count them. In a simple business, you can ignore people’s uniqueness–treat them “as a number,” as we say–because you only care about the totals. Treating each person as a valuable, unique individual and scaling that up to a population of thousands or millions is hard. Often, the techniques for counting totals are at odds with the techniques for counting individuals. In a database, it’s technically easy to retrieve one record or count all records if your data set is small. But, when you have millions of records, you need specialized, separate techniques for “transactional” and “analytic” processing.

Taking this to a higher level, I think perhaps the core Judeo-Christian value (not that Jews and Christians have exactly the sample values) is the value of the individual. It’s interesting that in English we can say that each person “counts,” and yet means, davka, that we are not simply counting them, but recognizing individuality. In healthcare, although we could probably do more with population-based measures, we tend to treat each case as individual. In the synagogue, although we worry about membership numbers, each person gets a chance to go the bimah as a bar mitzvah because we treat each person as an individual.

January 11, 2012

Can Knowing How To Program Make You a Better Person?

Filed under: Education, Software Blog — marcstober @ 9:24 pm

Codecademy has gotten some press about their Code Year project to teach you to write code, i.e., software. It doesn’t seem to be aimed at people on the typical computer science and engineering track but rather as a a basic literacy skill for anyone.

I forget sometimes I didn’t set out to be a programmer. I’d written some web pages that were simple documents, and knew they were lacking compared to “real” web sites where you could search, order a book, or buy an airline ticket. So I bought a programming book, found a small project to use it on at work, and the rest of my career fell in to place (eventually).

As a programmer, I have a different (better?) idea of the value of the technology we deal with daily in modern life.

Here are some examples. You can probably think of ways to dispute the particulars, but that’s why they’re examples, not proofs. (There’s my programmer-mind searching for discrete logical results again, forgetting that my blog audience has analog brains and doesn’t think in one’s and zero’s….)

Example #1: Twitter

Twitter is tremendously popular. I use it and it’s a lot of fun. I think a lot of people think it’s some amazing technology. It’s actually kind of tricky in that way: character limits, coded abbreviations, URL shorteners and hashtags all seem very technical. In fact, this originally turned me off to Twitter; I’ve lost count of the number of times in my career I’ve made a field longer or modified an app to take advantage of a higher-bandwidth connection, and Twitter was doing completely the opposite! Now I think people are attracted to the game (just like some programmers try to write the shortest program possible,) even if it’s cryptic to the point of being a novelty. Twitter isn’t some great technical advance; it’s really pretty simple: a couple web pages and a couple tables that any professional developer could implement, at least in its basic structure. What makes Twitter one of the leading social media platforms is not technology, but that millions of people use it. This may even make it more valuable as a business: lot of valuable users, without having to invest a lot in technology. (Admittedly scaling up to its current size is, as programmers like to say, non-trivial.)

Example #2: Netflix

On the other hand, Netflix seems simple. What could be simpler than watching TV? But parts of Netflix rely on some very sophisticated technology. Computer scientists competed for a million dollars over the best algorithm to recommend movies. Video compression and reliable streaming are hard. If you can invent a better video compression algorithm, you can probably get rich. We take it for granted that we can watch Netflix on almost any device (and we get angry if we can’t), but building native streaming players that enforce DRM (whether or not you want to) on multiple platforms and making them work well enough to compete with cable is very hard. Of course, Netflix does other difficult things like negotiating with movie studios. But I think a least part of the reason I pay for Netflix every month (and use Twitter for free) is that they have a lot more value in their technology.

Example #3: Verizon vs. Vonage and MagicJack

Vonage and MagicJack want you to think that they have some innovative new technology that can save you money. Maybe they could save me money, but from an engineering standpoint, I find them odd. When I pay my phone bill (well, FiOS bill) to Verizon, I can (barely) justify the expense knowing they maintain a huge physical infrastructure requiring real estate, trucks, union salaries, miles of expensive copper wire and glass fiber. I could plug a Vonage or MagicJack device into my Verizon Internet connection, but I’d still be relying on Verizon’s real estate, trucks, union salaries, miles of wire, etc. and my voice would get turned into the same bits on fiber either way. Any difference is a result of politics and commercial issues; there’s no fundamental technical reason these services should save you money.

So, have I convinced you to make learning to program your New Year’s resolution?

July 30, 2011

iPhone Navigation a Bumpy Road

Filed under: Cars, Design, Software Blog, Travel — marcstober @ 10:45 am

Your Road Ahead
Photo credit: Trey Ratcliff on Flickr under a CC BY-NC-SA 2.0 license (thanks for sharing!)

I left behind my paper maps and GPS device on our recent trip to California, navigating with my iPhone 4 instead. We got where we needed to go, but the iPhone was limited and frustrating for a state-of-the-art smartphone.

We flew into northern California to visit relatives and attend a wedding, then drive along the coast to LA sightseeing. This meant we had to locate points of interest as specific as a San Francisco apartment and as vague as a spot along those coast where you can see elephant seals, and drive in LA traffic. I knew I’d need more than the built-in Maps app. Before the trip, I used TripIt and Google Maps on the web to store various destinations. For voice-guided navigation, I purchased NAVIGON MobileNavigator, which was expensive, but cheaper than either buying a new GPS device or even updating the maps on my old one. (I’d also tried the less expensive MotionX GPS Drive app around eastern Massachusetts, but it came up with some strange routes, which proved to me that all navigation apps are not the same.)

I also purchased NavAssist. If you have Navigon or TomTom apps, buy NavAssist. It’s only 99 cents and it lets you copy and paste addresses from other apps (including the native Maps app) into your GPS app. On the other hand, it’s ridiculous that there not a better way to share addresses designed into the iPhone. For example, to navigate to our hotel address saved in TripIt: open the record in TripIt, click to open the address in Maps, copy the address, paste into NavAssist, click to search then click to launch Navigon. This should not take so many clicks through 4 different apps!

My big disappointment came when I tried to view the customized map I’d saved in Google Maps. I’d dropped multiple pins on a map and planned to use that to see what I was near and decide what to visit next. I didn’t expect that the native Maps app (which isn’t really “Google Maps” even if it uses Google data) would support this, but I’d assumed I’d have all the functionality of the web-based Google Maps through the mobile web. It was not possible. The Google products are a confusing mix of “Maps,” “Local”, “Places,” and the Google Earth app. It is possible to view saved maps via Google Earth, but this is both too slow to use well without good WiFi, and doesn’t provide you with the sort of road and address data you need for driving navigation at all.

Fortunately, I’d printed out on a paper a list of the points of interest I’d saved in Google Maps. The native Maps app doesn’t support dropping multiple pins (or even a single pin precisely). I briefly tried free Bing and MapQuest apps before buying two more map apps: CityMaps2Go by Ulmon, and Map+ by Shinya Sugawara. I’d used Ulmon’s Paris guide app on another trip with much success, but it worked better for finding landmarks (like the Louvre and the Eiffel Tower and the closest subway stop) than for finding specific street address and driving to them. Finally, the 99 cent Map+ app was only thing I could find for dropping multiple pins on on a street map.

Maybe the developers of NavAssist and Map+ could get together and build an app that combines the ability to drop multiple pins with the ability to paste in addresses and launch a navigation app? Does it seem wrong that $300 of GPS hardware and software is made usable by $1.98 of apps? Has Apple restricted the functionality of map and navigation apps while it works on its own? I’d consider this a possibility, but I can’t do much else with a speculation of an unannounced product.

« Previous PageNext Page »