All New WordPress.com

Screen Shot 2015-11-23 at 10.07.31 AM

Almost 2 years ago, I wrote about how the future of WordPress needed to be a REST-based API, with a JavaScript client on top of that. There were even public rumors that, gasp, we were thinking about porting WordPress to Node.js. Well, while that’s not exactly true, it’s closer to the truth than a lot of people probably realized.

We are in fact using Node.js to power part of WordPress.com now. If you go to https://wordpress.com while logged in, your request is handled by a Node.js server, and the entire UI is written in JavaScript, although the majority of it is actually React.js. Unless you end up back in wp-admin, your admin/editing/posting/dashboard experience on WordPress.com is now handled entirely (well, almost; we’re still working on some pieces still) with JavaScript.

(more…)

Our company’s in-house band(s) slay! #a8cgm @automattic

Our company’s in-house band(s) slay! #a8cgm @automattic

Our company’s in-house band(s) slay! #a8cgm @automattic

40.6861698-111.5560886

Posted on Instagram 9:08 pm, October 18, 2015 jQuery(document).ready(function(){ var gmap_m3d93deb90212ad424468dc41bb9d52ad = { positions : { 405 : new google.maps.LatLng( ‘40.686169773’, ‘-111.556088621’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m3d93deb90212ad424468dc41bb9d52ad’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m3d93deb90212ad424468dc41bb9d52ad.positions ) { gmap_m3d93deb90212ad424468dc41bb9d52ad.bounds.extend( gmap_m3d93deb90212ad424468dc41bb9d52ad.positions[m] ); } // Render markers for ( var m in gmap_m3d93deb90212ad424468dc41bb9d52ad.positions ) { gmap_m3d93deb90212ad424468dc41bb9d52ad.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m3d93deb90212ad424468dc41bb9d52ad.map, position : gmap_m3d93deb90212ad424468dc41bb9d52ad.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m3d93deb90212ad424468dc41bb9d52ad.map.setCenter( gmap_m3d93deb90212ad424468dc41bb9d52ad.positions[405] ); });

Much excite. Such wow!

Much excite. Such wow!

Much excite. Such wow!

40.6861698-111.5560886

Posted on Instagram 8:23 pm, October 18, 2015 jQuery(document).ready(function(){ var gmap_m27ebf7b3c082e44515199e53d8f09093 = { positions : { 822 : new google.maps.LatLng( ‘40.686169773’, ‘-111.556088621’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m27ebf7b3c082e44515199e53d8f09093’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m27ebf7b3c082e44515199e53d8f09093.positions ) { gmap_m27ebf7b3c082e44515199e53d8f09093.bounds.extend( gmap_m27ebf7b3c082e44515199e53d8f09093.positions[m] ); } // Render markers for ( var m in gmap_m27ebf7b3c082e44515199e53d8f09093.positions ) { gmap_m27ebf7b3c082e44515199e53d8f09093.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m27ebf7b3c082e44515199e53d8f09093.map, position : gmap_m27ebf7b3c082e44515199e53d8f09093.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m27ebf7b3c082e44515199e53d8f09093.map.setCenter( gmap_m27ebf7b3c082e44515199e53d8f09093.positions[822] ); });

There are a lot of us now #a8cgm

There are a lot of us now #a8cgm

There are a lot of us now #a8cgm

40.6853018-111.5566372

Posted on Instagram 1:34 pm, October 13, 2015 jQuery(document).ready(function(){ var gmap_m05ca837d1612bdf5e898943e1eba090f = { positions : { 304 : new google.maps.LatLng( ‘40.685301808’, ‘-111.556637182’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m05ca837d1612bdf5e898943e1eba090f’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m05ca837d1612bdf5e898943e1eba090f.positions ) { gmap_m05ca837d1612bdf5e898943e1eba090f.bounds.extend( gmap_m05ca837d1612bdf5e898943e1eba090f.positions[m] ); } // Render markers for ( var m in gmap_m05ca837d1612bdf5e898943e1eba090f.positions ) { gmap_m05ca837d1612bdf5e898943e1eba090f.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m05ca837d1612bdf5e898943e1eba090f.map, position : gmap_m05ca837d1612bdf5e898943e1eba090f.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m05ca837d1612bdf5e898943e1eba090f.map.setCenter( gmap_m05ca837d1612bdf5e898943e1eba090f.positions[304] ); });

My chariot to the #a8cgm

My chariot to the #a8cgm

My chariot to the #a8cgm

39.855096-104.673738

Posted on Instagram 2:08 pm, October 12, 2015 jQuery(document).ready(function(){ var gmap_mb6c58958255901810e9968130f3483cf = { positions : { 79 : new google.maps.LatLng( ‘39.855096’, ‘-104.673738’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mb6c58958255901810e9968130f3483cf’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_mb6c58958255901810e9968130f3483cf.positions ) { gmap_mb6c58958255901810e9968130f3483cf.bounds.extend( gmap_mb6c58958255901810e9968130f3483cf.positions[m] ); } // Render markers for ( var m in gmap_mb6c58958255901810e9968130f3483cf.positions ) { gmap_mb6c58958255901810e9968130f3483cf.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mb6c58958255901810e9968130f3483cf.map, position : gmap_mb6c58958255901810e9968130f3483cf.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mb6c58958255901810e9968130f3483cf.map.setCenter( gmap_mb6c58958255901810e9968130f3483cf.positions[79] ); });

Snacky time #bbq #omg

Snacky time #bbq #omg

Snacky time #bbq #omg

Posted on Instagram 7:44 pm, September 25, 2015 jQuery(document).ready(function(){ var gmap_m6801e6f370bf54ce302c7698d42bd099 = { positions : { 482 : new google.maps.LatLng( ‘39.7677224’, ‘-104.899998687’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m6801e6f370bf54ce302c7698d42bd099’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m6801e6f370bf54ce302c7698d42bd099.positions ) { gmap_m6801e6f370bf54ce302c7698d42bd099.bounds.extend( gmap_m6801e6f370bf54ce302c7698d42bd099.positions[m] ); } // Render markers for ( var m in gmap_m6801e6f370bf54ce302c7698d42bd099.positions ) { gmap_m6801e6f370bf54ce302c7698d42bd099.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m6801e6f370bf54ce302c7698d42bd099.map, position : gmap_m6801e6f370bf54ce302c7698d42bd099.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m6801e6f370bf54ce302c7698d42bd099.map.setCenter( gmap_m6801e6f370bf54ce302c7698d42bd099.positions[482] ); });

Stanley Steamer #car #vintagecar #vintage

Stanley Steamer #car #vintagecar #vintage

Stanley Steamer #car #vintagecar #vintage

39.8230705-105.1677094

Posted on Instagram 3:58 pm, September 23, 2015 jQuery(document).ready(function(){ var gmap_m9fd8075be1e91c1f37f246b4b2763859 = { positions : { 344 : new google.maps.LatLng( ‘39.8230705’, ‘-105.1677094’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m9fd8075be1e91c1f37f246b4b2763859’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m9fd8075be1e91c1f37f246b4b2763859.positions ) { gmap_m9fd8075be1e91c1f37f246b4b2763859.bounds.extend( gmap_m9fd8075be1e91c1f37f246b4b2763859.positions[m] ); } // Render markers for ( var m in gmap_m9fd8075be1e91c1f37f246b4b2763859.positions ) { gmap_m9fd8075be1e91c1f37f246b4b2763859.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m9fd8075be1e91c1f37f246b4b2763859.map, position : gmap_m9fd8075be1e91c1f37f246b4b2763859.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m9fd8075be1e91c1f37f246b4b2763859.map.setCenter( gmap_m9fd8075be1e91c1f37f246b4b2763859.positions[344] ); });

#vintagecar #vintage #car

#vintagecar #vintage #car

Posted on Instagram 3:57 pm, September 23, 2015 jQuery(document).ready(function(){ var gmap_m0adac7adb585056f4132b2c17bcab11c = { positions : { 20 : new google.maps.LatLng( ‘39.8230705’, ‘-105.1677094’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m0adac7adb585056f4132b2c17bcab11c’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m0adac7adb585056f4132b2c17bcab11c.positions ) { gmap_m0adac7adb585056f4132b2c17bcab11c.bounds.extend( gmap_m0adac7adb585056f4132b2c17bcab11c.positions[m] ); } // Render markers for ( var m in gmap_m0adac7adb585056f4132b2c17bcab11c.positions ) { gmap_m0adac7adb585056f4132b2c17bcab11c.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m0adac7adb585056f4132b2c17bcab11c.map, position : gmap_m0adac7adb585056f4132b2c17bcab11c.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m0adac7adb585056f4132b2c17bcab11c.map.setCenter( gmap_m0adac7adb585056f4132b2c17bcab11c.positions[20] ); });

Backyard vibes #sky #clouds #tree

Backyard vibes #sky #clouds #tree

Posted on Instagram 4:11 pm, September 22, 2015 jQuery(document).ready(function(){ var gmap_m4ea5caadd7fdf65664f0b343c381f1fc = { positions : { 331 : new google.maps.LatLng( ‘39.7392’, ‘-104.984’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m4ea5caadd7fdf65664f0b343c381f1fc’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m4ea5caadd7fdf65664f0b343c381f1fc.positions ) { gmap_m4ea5caadd7fdf65664f0b343c381f1fc.bounds.extend( gmap_m4ea5caadd7fdf65664f0b343c381f1fc.positions[m] ); } // Render markers for ( var m in gmap_m4ea5caadd7fdf65664f0b343c381f1fc.positions ) { gmap_m4ea5caadd7fdf65664f0b343c381f1fc.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m4ea5caadd7fdf65664f0b343c381f1fc.map, position : gmap_m4ea5caadd7fdf65664f0b343c381f1fc.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m4ea5caadd7fdf65664f0b343c381f1fc.map.setCenter( gmap_m4ea5caadd7fdf65664f0b343c381f1fc.positions[331] ); });