Today we’re releasing the first edition of Landsat-live, a map that is constantly refreshed with the latest satellite imagery from NASA’s Landsat 8 satellite. With every pixel captured within the past 32 days, Landsat-live features the freshest imagery possible around the entire planet. Uses the Landsat 8 data directly now that it’s stored on AWS. …
Author Archives: Bramus!
HTML5 Drum Machine
Computer Color is Broken
The Uncanny X-Men
Geofencing for the Web
navigator.serviceWorker.register(‘serviceworker.js’).then( function(serviceWorkerRegistration) { serviceWorkerRegistration.geofencing.add( new CircularGeofenceRegion({ name: “myfence”, latitude: 37.421999, longitude: -122.084015, radius: 1000 }), {includePosition: true}).then( function(geofence) { console.log(geofence.id); // If more than just a name needs to be stored with a geofence, now // would be the time to store this in some storage. }, function(error) { // During development it often helps …
Shylight
Certain types of flowers close at night, for self-defense and to conserve their resources. This highly evolved natural mechanism is called nyctinasty, and inspired Studio Drift to create Shylight, a light sculpture that unfolds and retreats in a fascinating choreography mirroring that of real flowers. Shylight →
ionic emulate “[__NSArrayM localizedDescription]: unrecognized selector sent to instance 0x7fd64840e790”
Got this error when running ionic emulate: 2015-03-16 11:13:24.112 ios-sim[50548:9106309] stderrPath: /Users/bramus/Projects/ionic/todos/platforms/ios/cordova/console.log 2015-03-16 11:13:24.113 ios-sim[50548:9106309] stdoutPath: /Users/bramus/Projects/ionic/todos/platforms/ios/cordova/console.log 2015-03-16 11:13:24.140 ios-sim[50548:9106309] -[__NSArrayM localizedDescription]: unrecognized selector sent to instance 0x7fec20d08400 2015-03-16 11:13:24.140 ios-sim[50548:9106309] *** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[__NSArrayM localizedDescription]: unrecognized selector sent to instance 0x7fec20d08400’ *** First throw call stack: ( 0 …
Push Notifications for the Web
self.addEventListener(‘push’, function(event) { // Since there is no payload data with the first version // of push messages, we’ll grab some data from // an API and use it to populate a notification event.waitUntil( fetch(SOME_API_ENDPOINT).then(function(response) { if (response.status !== 200) { // Either show a message to the user explaining the error // or enter …
Characteristics of a well-designed user interface
Quantity Queries for CSS
Styling elements based on the “more than one” and “fewer than two” thresholds is a neat trick, but a flexible “quantity query” interface would accept any quantity. That is, I should be able to style “more than or equal to n” for any value of n. Then I can style “more than or equal to …