0 notes
The Five Boro Bike Tour this morning was fine (though apparently not if you weren’t in it), but the best moment was the fleeting one after the ride, when hundreds of cyclists at a time got off the ferry and momentarily outnumbered cars in lower Manhattan, not interfering with but becoming the traffic of Nieuw-Amsterdam. This is what I want New York to look like every day; motorists, as far as I’m concerned, can keep the BQE.
0 notes
I gave a brief talk on how Android uses images, and how to deal with the variety of device sizes and resolutions in the Android ecosystem. I made sure to give the talk as boring a title as possible.
The target audience was a group of experienced web developers just starting to learn about mobile development, mostly focusing (except for this “guest lecture”) on iOS. Have a look at my slides if you like.
0 notes
Why gender parity in computing matters →
Dr. Klawe and others say the underrepresentation of women in the field is detrimental in a larger sense. Computer science, they say, is as vital to propelling society forward in the digital era as mechanical engineering was in the industrial age.
2 notes
Ride Report: Manhattan to Staten Island via George Washington and Bayonne Bridges
I rode this weekend from my home in lower Manhattan to Staten Island. The only bike-accessible route for doing this involves riding up Manhattan (the cherry blossoms were in bloom!), across the George Washington Bridge, down through New Jersey along the west bank of the Hudson River, and across the Bayonne Bridge to Staten Island. (Conversely, if you’re actually interested for some reason in going to Staten Island, it’s much quicker just to take the ferry.)

A friend then asked how the ride was; in case my advice is useful to anyone else, here it is.
The ride is totally doable, but
- Much of the route is on this weird walkway along the Hudson which is mostly bricked rather than asphalted. I think bikes are allowed there (and anyhow no one tried to stop me) but am not totally certain. It seems like it is also still being constructed in parts. Anyway you shouldn’t expect to go particularly fast on it, if that’s a concern.
- The walkway disappears and reappears, and unless you have a map, you might not know from the road when it is reappearing, as you often have to ride through a parking lot or something to get there.
- When you have to be on a road, the road is full of New Jersey drivers.
- This is apparently New Jersey’s idea of a designated signed but not striped “bike route.”
- As far as I could tell, the easiest way to get around the Hoboken train station is to get off the bike and just walk it through the station.
- There are stairs on the NJ side of the Bayonne Bridge, and technically you’re supposed to walk your bike across, but seriously I saw one pedestrian the whole way across and it wasn’t a huge problem to avoid hitting him while riding.
Good news:
- Except for the approach to and from the GWB, it’s pretty much flat
- There’s a very nice segragated cycleway for four whole blocks of Hoboken
- The southern part of Jersey City and all of Bayonne and S.I. are on normal roads with cars on them, but reasonably narrow roads which felt reasonably safe.
- Free ferry back to Manhattan.
1,768 notes
The Tumblr of the moment to follow is geraldoinahoodie. Have a look if you like to look at hypocritical Fox News talking heads.
2 notes
We noticed some interesting contrasts in the weekday usage of Meetup on different platforms.
Saturday is the biggest day for Meetups to take place. Since people are away from their desks, they use our mobile apps and mobile web site to find their way — but visits to Meetup.com fall off.
On Monday, however, people return to their desks and start planning their week on the website, while usage of the mobile platforms is lower.
(Data is from the past nine weeks, normalized so that the average day for each type of access is equal to 1.0.)
0 notes
Tumblr Terms of ServiceWhen you transfer Subscriber Content to Tumblr through the Services, you give Tumblr a non-exclusive, worldwide, royalty-free, sublicensable, transferable right and license to use, host, store, cache, reproduce, publish, display (publicly or otherwise), perform (publicly or otherwise), distribute, transmit, modify, adapt (including, without limitation, in order to conform it to the requirements of any networks, devices, services, or media through which the Services are available), and create derivative works of (including, without limitation, by Reblogging, as defined below), such Subscriber Content.
Note also that this license to your Subscriber Content continues even if you stop using the Services…
0 notes
Android Photo Spy
The New York Times published an article noting that iOS applications can access your photo library if they request permission to know your device’s location. They noted that “Google declined to comment on how its Android operating system for mobile devices handles this issue.”
Of course Google declined to comment: Android apps can access your photos with no special permissions whatsoever. This is, apparently, by design.
So, I wrote a quick demonstration app which gets a list of your photos (and their locations, if available) and lets you look at the photos if you like:

Just to say it again: the app requires no special permissions whatsoever. In fact, because it doesn’t have INTERNET permission, it can’t send your photos anywhere and so is not a true “spy,” but of course almost all real apps have INTERNET permission, and so this is not a limitation in actual practice.
You can download the app and look at the source code on GitHub.
For further Android privacy leaks, see packetlss’s android-locdump project, which reads your phone’s location cache and which I used to make a map of my travels. (This map was also published by Spiegel Online.)
1 note
HTML-like Tags in Android String Resources
It’s not a secret that you can put some HTML-like tags in Android string resources files. The documentation lists only three such supported tags: <b>, <i>, and <u>.
However, reading the source code reveals that some other tags are also supported! According to the Android source code at android.content.res.StringBlock#applyStyles, the complete list of supported tags is:
<b>creates boldface text<i>creates italicized text<u>creates an underline<tt>creates text in a monospaced font<big>and<small>increase and decrease the font size<sub>and<super>create superscripts and subscripts<strike>creates a strikethrough<li>creates a paragraph with a bullet next to it<marquee>creates a span withTruncateAt.MARQUEEset.- The
<font>tag supports a few attributes:heightaccepts an integer and sets the line height accordinglysizeaccepts an integer, setting the size of the enclosed text in dip.fgcolorandbgcolorset the foreground and background color. Note that these attributes accept only integer arguments, so you need to say “#ff00ff00”, not “green”.
- The
<a>tag accepts thehrefattribute and creates a link. - The
<annotation>tag accepts arbitrary attributes, creating arbitraryAnnotationspans.
Don’t be afraid to use the source or to experiment in order to get further details.
4 notes
We’re refactoring some of the user interface in our Android app. As you can see, we want event comments to feel more like a conversation, so we’re making them feel like the native Android Messaging app.
As we do this, we’re trying to take some of the new Android ICS design guidance into account; you can see in particular the action bar pattern here. We’re using Action Bar Sherlock so that we remain compatible with Android 2.x devices.
And, finally, the reason we have two screenshots above is that we’re taking care to use UI elements that will be familiar to our users, depending on the version of the Android platform that they’re using. In particular, the share icon, add-a-comment text field, and send button are set to match the usual platform style: Gingerbread on the left and Ice Cream Sandwich on the right.