Working on an iPad

I recently picked up an iPad Pro (9.7″), along with the Apple Pencil and a Logitech keyboard/case. I’m trying the package out as an alternate work configuration, and so far am quite enjoying it. It’s also good to force me to test more of our software from a mobile perspective.

The screen on the iPad Pro is gorgeous, so it’s pretty similar to using a MacBook Pro. Being completely touch-based makes it feel much more interactive and “engaging”, which is weird. I also find myself using the Apple Pencil quite often, just because it’s so precise, and is surprisingly pleasant to use for interacting with even very finger-touch optimized UIs. I’ve been doing some diagraming and “visual” type work lately as well, so it’s refreshing to be able to do that digitally and feel like it’s not a huge compromise over just doing it with paper/pencil/post-its.

(more…)

Home Automation/Presence

I’ve been thinking about home automation a bit recently, and I realized that what I want as a big part of a system is some sort of generic presence-system. I’m imagining something along the lines of:

  • Small/cheap nodes that can be plugged in around a house/space
  • The nodes would form a mesh and talk to each other
  • Nodes would determine the strength of a signal (Bluetooth LE?) and “discuss” it amongst each other to determine which one you’re closest to, and thus roughly “where” you are (triangulate your location based on signal strengths)
  • Nodes would all connect to a server/service (could be locally-hosted), where they would broadcast your current location somehow. Maybe something like a Socket.IO server, so that other services could connect and receive live updates of location changes?

I wonder if this could be hacked together from iBeacons somehow, or if it’s too much the reverse of what they’re intended for? Does this already exist? Is there a better/simpler solution already available?

One Less Plugin, Thanks Jetpack

Screen Shot 2015-01-03 at 8.25.58 PM

As a developer, I’m a huge fan of “red changesets”; when you get to delete more code than you add. Less code means less maintenance, less potential for bugs, security problems, etc. Today I got to “red changeset” the plugins powering this website because I realized I could just go ahead and delete the plugin I was using for update notifications.

I’ve been running a plugin here for a while now that emails me when I have updates available for plugins, themes or core on my WordPress installation. With the latest version of Jetpack though, I get that notification via a simple little indicator on WordPress.com (and I’m there every day already). In addition to the notification, I’ve enabled the auto-update feature for all plugins on all sites connected via Jetpack, so now I don’t even have to think about keeping my plugins up to date.

(more…)

Simple Search Operators

I’ve long wanted to be able to do some simple, operated-powered searches within WordPress (especially relevant in a project I’m working on at Automattic). After a conversation with Allen, where he wanted to do the same thing, I figured I’d just whip up a quick plugin to see how hard it’d be. Turns out the answer is “not very”.

Simple Search Operators is a quick plugin that expands the functionality of the default search system in WordPress so that you can use a few useful operators (might look at adding some more at some point) [all links in the following list go to live searches on this site, using that operator]:

(more…)

WordCamp Saratoga

Through some lucky scheduling, I was able to attend both LevelUp Con and WordCamp Saratoga in a single trip. I spoke at WordCamp about how to build a quick Backbone.js application which used WordPress as the backend (interfacing via the REST API). I thought my talk went OK, although I didn’t love it to be honest, and in hindsight I kind of wish I’d dived a bit harder into some better examples of how Backbone works with Views and whatnot. Here are the slides I used:

(more…)

LevelUp Con

logo-lg

Last week, I attended the first ever LevelUp Con (which WordPress.com sponsored) in Saratoga Springs, New York. I was really impressed with the event, which was organized by the crew at Mad Glory to help draw attention to upstate New York’s tech scene, and to expand people’s horizons and help them cross-train a bit.

Apart from the wonderful people, beautiful setting (upstate NY is ridiculously gorgeous at this time of year) and smoothly-operated event logistics, there were a few really good talks that made the 2-day event click for me.

(more…)

Why JavaScript Is The Next (or first) Programming Language You Should Learn

I’ve been asked a few times recently what programming language I’d learn if I was just starting out. Right now, the answer is definitely JavaScript, and here’s why:

Easiest Development Environment

I believe one of the biggest hurdles for people to get into programming is actually all of the other stuff around just writing code. Anything you can do to get to the point where you’re writing code faster (at least while you’re learning) is a win in my mind. Everyone has access to a web browser, which means everyone now has access to a simple development environment. If you’re using Chrome on a Mac, press cmd-opt-j. Welcome to the console, you’re now able to start writing JavaScript to manipulate the page you’re looking at. That’s pretty awesome. There are also a bunch of online editors and tools like CodePen, JSFiddle which allow you to dive into a more complete development/testing/prototyping environment right in your browser.

(more…)

Why Web Development Is Complex

I keep hearing things like “programming is easy” and “everyone should code”! These are both interesting, kind of misleading statements. The actual core part of programming — actually writing code, is perhaps not that hard. Writing simple code is, relatively, simple. Many more people can, and should, probably learn to do that. Actually being a good developer is vastly different (and massively more complex).

It’s a worthy goal for people to get into development, and I love that more and more folks are, but you should also set your expectations realistically if you’ve never coded anything before. You can learn some basics pretty quickly, but you have a lot to learn before you will be fully proficient in a real development environment.

(more…)

Personal Location Tracking

Screen Shot 2014-05-14 at 10.00.03 AM

I’ve been pretty fascinated with the idea of recording my own location for a while now. I started using Foursquare at SXSW in 2009 and have mostly continued to do so since then (I have over 3,700 check-ins). You can see my check-ins being syndicated back to this website (using Keyring Social Importers), and if you scroll back through the history of the main page, you’ll get maps aggregating a few check-ins at a time.

(more…)

A Whole New Dented Reality

Back in April, this blog celebrated 10 years of existence, and it’s been almost five years since the theme on this site changed. Yesterday I decided to just go ahead and flip the switch on something I’ve been working on here and there since late last year. It’s a complete new, very experimental theme that I call “Homeroom“.

There are some specific things driving what I was aiming for with Homeroom:

(more…)

Stanso: Simple TAgged Note Storage Online

Background/Motivation

In amongst some work that I’ve been doing recently, and looking at my own work habits and trends, I realized that something super-useful to have would be a very accessible “microcontent storage system” where you would be able to store small snippets of information, tag them, have them fully-indexed and searchable using a simple, slick interface. Basically, I’m seeing this as del.icio.us, with more space for storing text, and no requirement for a link.

(more…)

Jakob Nielsen’s Alertbox

Fortnightly articles/reports posted by Monsieur Guru Nielsen himself. Some of these are pretty good, personally I think some of them are just plain stupid.

An example of taking things too far: in the most recent alertbox, Nielsen extrapolates his calculated statement that the companies he studied which would “spend $3,042 per employee annually to cover time spent on the sixteen tasks we measured” to mean that if we improved intranets to the best ones they saw in their tests, we would “save the world economy $1.3 trillion per year”… come on dude, seriously. You so can’t make that assumption.

She Wants The World… And a Search Log Analyser!

Just kidding, but I got some details back from Lisa C, and she appears to have some very specialised requirements for her system. I have suggested that it might be better if we work together to develop a “base system” which would include the complete logging functionality, and then she can customise and/or extend the reporting/analysis interface as required.

I think this approach should work quite well, allowing me to collaborate on a logging module, and to refine the database schema, then develop a generic, “useful-across-the-board” analysis interface, which should be capable of being extended easily. Metabase, here I come.

Where Are You Stanford?

Lisa Chan from Stanford emailed me, wanting to know if we could work together on building a search log analyzing system. I emailed her back with a stack of the details of stuff that I was planning and haven’t heard back… I wonder why not? Maybe she’s taken my ideas and is off building it without me?

UPDATE: I still haven’t heard from Lisa :P