After 10 years with Apple I’ve finally taken a new direction and bought an Oryx Pro from System76 last week. While I’d love to say I’ve already fully-converted I would be lying. Between a weekend trip and a busy work week I haven’t been able to get nearly as far with it as I would […]

After 10 years with Apple I’ve finally taken a new direction and bought an Oryx Pro from System76 last week. While I’d love to say I’ve already fully-converted I would be lying. Between a weekend trip and a busy work week I haven’t been able to get nearly as far with it as I would have liked but I have used it enough to be able to determine how I think the project will work out for me. Here’s my initial thoughts on the transition and the machine in general.

The Oryx Pro

Although I’ve been a fan of Apple’s hardware for over a decade the simple fact is they don’t make them like they used to. I originally went to Mac as the high-end Windows laptops I had been using wouldn’t even last 2 years and cost nearly as much as my first Mac. Since buying my first Mac in 2008 I’ve gone through 3 machines so, at least until this one, I can say my initial goal of a more reliable machine worked pretty well.

My current Mac is a touchbar machine from 2016 that has already had its keyboard replaced multiple times in less than two years while also driving me crazy with the touchbar. While I liked the feature at first I’ve since found it to be the single most useless feature in any machine I’ve ever owned. Given these frustrations and it’s constant crashes (so much for the “just works” of the old days) it’s time to turn the machine in.

For a new machine I looked at a few different machines from Dell, Lenovo and System76 and landed on the Oryx Pro from System76 for its combination of price, features and size. For a machine that was a bit under $2,000 (plus an extra charger and an extra year of warranty just in case) I was able to get a machine that, at least on paper, is not only faster than the current Mac lineup but should be able to handle anything I can throw at it for years to come.

I didn’t need to update much other than a faster hard drive (I only use 40GB total on my Mac so space isn’t an issue) and more RAM.

Of course, when I got the hardware I immediately compared it to my existing mac. The keyboard, hinges and trackpad all actually feel more solid than the Mac. Of course the screen isn’t as fancy but for my work the 1080 screen is plenty. It’s also slightly bigger but lighter than my existing Mac which has been a blessing. The case itself isn’t quite a nice and feels a bit cheaper even with its “super thin aluminum alloy design” but considering I’ve never been hard on my computers I’m not too worried about that part.

Functionally I feel like the new machine is in a whole different class from the Mac with a full keyboard, complete with number pad, a great trackpad and an assortment of ports that can take pretty much anything I can throw at it. Strangely, perhaps, the power for it still uses a round plug rather than USB-C though. I’ve gotten used to this feature on the Mac and will miss it. Also, the power brick is HUGE and will require some creative thinking to keep it from getting annoying in my backpack. I did buy an extra to make moving around easier though so at least I still won’t have to dig it in and out from my desk all the time.

From Mac to Linux

While the hardware change has been a positive experience, so far, the OS leaves me a bit further behind on comments. I’ve been getting frustrated with MacOS lately and, after moving to Android last winter, decided that it was time to try something else on my Desktop as well. My needs for computing are actually quite simple. I code, I do a bit of blogging and I run a few other apps for budgeting and related tasks. No gaming, no fancy processing and nothing else that I can’t do with even the minimal amount of apps on this Mac (according to CleanMyMac I have 17 apps installed on this machine as of today).

While I’ve been using Linux for my servers for as long as I can remember I haven’t used a desktop Linux OS in at least 12 years. Fortunately they’ve come a long way in that time. There are literally no apps on my Mac that I can’t easily replace on Linux and only 3 that I have to use alternatives for. When I left the Apple ecosystem I also moved most of my data into the Google ecosystem so, along with Chrome, there hasn’t yet been anything that hasn’t been pretty much plug-n-play with the Linux machine.

For a Linux distribution I went with System 76’s own Pop_OS which is essentially a layer on top of Ubuntu with a few updated tools. So far it looks great, runs great and hasn’t balked at any apps or hardware I’ve thrown at it. It did have a crash during initial setup but so have more than one of my Macs (even the one I loved) so I can’t say too much about that. In addition, I haven’t been able to really use it that much yet either. For a couple of reasons I need to keep this Mac going for another 2 weeks for work so I’m still doing a lot of things on it, including writing this post, for now. After Sep 14th I’ll sell this machine however and it will be all Linux. I was worried I would need more time at first but I can already tell that isn’t the case and all the data I’ll need to move to the new machine will be a piece of cake.

The Rest of the Workflow

Of course moving from just one computer to another is never that easy, especially if one of those computers involved is a Mac. As part of the switch I replaced my keyboard and trackpad as well as my monitor (might as well go all in) and I have a feeling these changes will probably affect my workflow as much as the computer itself as it’s been a long time since I’ve changed much of anything.

I’ve had Apple’s wireless keyboard and trackpad since I started with Mac. At the time I was tired of the cheap mice I had been using and their trackpads were nearly perfect for the way I worked. Even with the switch I still can’t say I didn’t like the magic keyboard and mouse I’ve had but I need to do things a bit differently. As I work from home, and work will continue to provide me with a Mac, I realized it’s probably best if I setup both computers and simply share the keyboard and mouse between the two. To accomplish this I’ve bought the Logitech MX Master 2S Wireless Mouse and the Logitech K780 Multi-Device Wireless Keyboard both of which can switch between 3 devices including my phone. While the mouse is going to take some getting used to just as it’s so different than a trackpad it has actually proven to be an excellent device so far. As for the keyboard, I can’t believe I didn’t make this switch earlier. It’s simply better than the magic keyboard in nearly every way from weight to keys to having a lip that could easily hold a phone or tablet as my 3rd device if I needed to so while it’s all a bit different I think the differences are all positive and will give me room to grow with it.

The final new piece of the puzzle is a Dell U3415W 34″ ultra-wide monitor that replaces a nice 27″ Dell I have to turn back in next week. While there are many similar monitors out there this one was an easy choice as it also serves not only as the monitor for both computers but as the USB hub as well. As for the upgrade from a 27″ monitor, I don’t know why I didn’t do this earlier. I liked the 27″ monitor but it was just the right size that two-windows placed side by side were a bit too cramped to be useful. Now I can easily have two IDE screens side by side and use them just as easily as any window on the laptop monitors or the older 27″ screen. It’s already proven a major benefit in just the projects I already have going this week.

Some Closing Thoughts

In the end I haven’t been able to use Linux enough yet in my day-to-day work to find any real pain points or strengths but considering the excellent hardware with my new machine and my experience with the OS so far I do think I’m going to really like the new setup. If not, well, I can always try something different and that, in and of itself, has probably been one of the greatest benefits of getting out of Apple’s ecosystem.

Most of you who know me know that I’ve struggled for a while now with how social media currently fits into my life and how I would prefer it to fit into my life. Ten years ago it was nothing for me to sign up for every service and post to them like there was […]

Most of you who know me know that I’ve struggled for a while now with how social media currently fits into my life and how I would prefer it to fit into my life. Ten years ago it was nothing for me to sign up for every service and post to them like there was no tomorrow. Heck, during my days at SIU doing so was actually part of my job as I managed all the social media for the Aviation departments. It was fun, I guess.

Today I’m not so sure if that was the right approach, or, for that matter, what the “right” approach even means. Over the last few months I’ve scrubbed or deleted most of my online accounts and worked to severely limit the time I’ve spent on the rest (often with even more limited success). I’ve done this not because I want to but, in many ways, because I feel like I have to for a number of reasons.

Social Media Can Be Toxic

First and foremost, social media can be a toxic cesspool of hate and ego. I’m obviously not immune to this one any more than anyone else is, particularly if I’ve had a few drinks first. I’ve lost friends over it and I’ve lost my respect for far more people than I could list in a single post.

The scariest part of this is that, like a train wreck, I can’t seem to turn away from the worst of it. I go back to my local new’s Facebook page, which is, by far, filled with the most racism, hate and general bigotry of any local news in any place I’ve lived, like a junkie looking for the next fix. Even the most benign articles and posts can turn into a hundred hate filled and deeply personal comments within minutes and I can never seem to just ignore it (although I no longer take the bait and respond to any of it anymore which is a positive step).

From people I trusted that turned out to be raging homophobes, racists, narcissists and worse to the random people I encounter anywhere I look social media has not just enabled their toxicity but, more often than not, encouraged it. I don’t want to be a part of that.

Social Media Is a Time Suck

Like most everyone else these days I spend way too much time on social media. Rather than work on this site or any other hobby I instead mindlessly click over to Twitter or Facebook or something else to read, and re-read whatever is going on at the moment.

Many evenings it’s not uncommon for me to spend as much as 4 or 5 hours going back and forth between just a few sites and… for what? The only thing it really accomplishes is to let me procrastinate on some other endeavor I should be pursuing.

I Value My Privacy

This might seem ironic from someone who has a history of putting nearly everything online for the last 20 years but the privacy implications of much of our social media usage scares the hell out of me. Who is reading my posts about being at the bar? Who is reading my posts about the work I’m doing and where I’m doing it? I don’t mean individuals here but what companies are reading these and what are they doing with them?

The truth of the internet is that if you’re not paying for the service you are the service. Algorithms not only control what we see based on what they think we want to see but they make really good money off the data that drives them as well. What happens when, for example, your insurance company starts buying that data? What will it do to your costs? Think it can’t happen? It already is and it is going to get worse. The simple fact is we all generate so much data in what we do daily that it really isn’t hard to put it back together to build a picture of who you are and, more importantly, what you’re worth to any given organization.

So, yeah, posting about “that night of drinking” or whatever else might be fun and get us a quick high with “likes” and comments but what is the price of that over the long-term? For companies that are doing their best to classify us for profit that price is already way too high and going higher by the day.

I Try To Shop Ethically

This might sound like a strange one with social media but I try to do my best to patronize companies whos ethical values line up with my own. As Facebook, Twitter and others continue to fuel many of the problems that plague our society am I then also complicite in continuing to support them through my use?

I haven’t been inside a Wal-Mart in 6 years. I have numerous other services and businesses that will never see a dime of my money as they actively support values I actively work against. How should this be any different with social media companies who provide platforms for hate and bigotry in all their forms, allowing them to organize and grow like a cancer in our society?

How, then, will I use social media?

The simple fact is my life requires me to be active on social media to some extent. For all the dilemmas it presents to me it has also paid me back in other ways, both directly and indirectly, in many facets of my life. I owe numerous jobs (and really my entire career) to social media. I’ve met people I consider my closest friends on social media. As a remote worker I’ve found outlets and discussions that help me in what otherwise could be a very lonely place to work.

In other words, I think it is safe for me to say that social media is a necessary evil and that isn’t all a bad thing. That said, I do need to limit its impact on my time as well as be careful to use it in ways that help those around me rather than hurting them, even if not intentional. I’m not really sure how I’m going to do all that yet to be honest. It will require a change in a lot of ways I do things and I’m not yet sure how to go about that. I do, now, know it is something I must do however and I’m looking forward to what it can bring to my life in the end.

It’s the time of year, again, to take inventory of what I’m working with and share it for others who might be looking to update their own toolbox. This is the 7th year (2017, 2016, 2015, 2014, 2013, 2012) I’ve been doing this and this year marks one of the bigger changes in my tooling since I started the […]

It’s the time of year, again, to take inventory of what I’m working with and share it for others who might be looking to update their own toolbox. This is the 7th year (2017, 2016, 2015, 2014, 2013, 2012) I’ve been doing this and this year marks one of the bigger changes in my tooling since I started the series.

Most years it seems, especially after looking over the older posts today, that not much changes from year to year and I guess, in some ways, there’s some truth to that this year as a number of the tools I use have been with me for a long time at this point. What has changed this year is how I use them and many of the supporting tools I’ve relied on for years. In changing my workflow I’ve managed to pare down my apps from what I had previously as well as learn to better use the available features in others. So far it seems to be paying off for me.

My Computer

I’m still stuck on using a 2016 15″ Macbook Pro I bought right when they were released. I loved it at first but now I can’t wait to get rid of it. While the touchpad is nice and I’ve grown to like the all USB-C setup, the keyboard, touch bar (which I originally liked) and overall quality of the machine and macOS in general have really degraded over the last few years and, at this point, I’m comfortable saying this will probably be my last Mac for the foreseeable future.

As far as applications are concerned, my biggest change this year has been moving from nearly all default software to the Google ecosystem. This means dropping Safari, Notes, Reminders, iMessage, etc for their Google counterparts and, after 6 months or so working like this, it was definitely the right move for me. I’ve also simplified a lot of others and removed what I didn’t need resulting in a much simpler workflow. Heck, with a hard drive of 512 GB and with direct access to literally every piece of data I have my laptop still has 446 GB available on the drive. I’ll call that a win. As for individual apps, here’s the breakdown:

1Password: This is still my password manager of choice. My wife, parents and myself share a family plan and I’ve been able to work it where I don’t need to keep all my data from it on any given device which should make travel safer. I still can’t find anything to beat its ease of use and feature set which might be a huge issue when I do eventually move to Linux.

Alfred: It’s clipboard history feature is really the only thing I keep this around for these days. Where there are other tools that can do that I already own a license for this so I’ve stuck with it.

Backup and Sync from Google: In switching to the Google ecosystem I moved from iCloud Drive to Google Drive and this little utility just helps me manage all of it. Frankly, I could probably do without but it is handy to backup some things so, so far, it stays.

Bartender 3: This handy little utility just keeps my toolbar free from clutter (which is mostly just the few apps in which I can’t turn off their menu bar items).

CleanMyMac 3: This is a handy tool to help keep the Mac clean. I use it to securely erase trash, completely uninstall apps and perform general cleanup and maintenance. I do believe it is actually one of the first apps I bought when I started with Mac back in 2008 and I continue to use it regularly 9 years later. It is definitely worth the modest price.

ForkLift: I’ve tried numerous file transfer clients over the years but none of them can hold a candle to ForkLift. On large transfers it has proven to be many times faster than Transmit and pretty much everything else out there while also being rock solid not just in application stability itself but in resuming an operation after my wi-fi or other connection hiccups on me.

Gimp: For my limited image editing needs (mostly cropping and resizing for this site) the free Gimp editor does me quite well. If anything changes in the next year it will probably be this one.

Gitkraken: I moved to this for visualizing GIT repos since SourceTree has become almost unusable over the last few years. It isn’t quite a powerful as SourceTree but it doesn’t freeze up for 30 seconds or move on every single action so I’ll call that a win.

Google Chrome: These days I use this as my primary browser and it does a really solid job without the battery issues that plagued it when I used it 4 or 5 years ago.

GPG Keychain: This is part of the GPG Suite for Mac. While I rarely bother with signing or encrypting emails anymore, this still helps me easily manage what keys I do still have.

Kaleidoscope: This is a very powerful merge/conflict tool that really helps working with my team and our [monolithic] GIT codebases. I’ve actually had this one for a few years now and although I don’t use it all that often it has come in handy and saved my butt numerous times.

Moom: This is a great little screen manager that helps me sort apps on my screen with a single keystroke. I think I’ve been using it for two or three years now, since Window Tidy went to a subscription model, and it’s proven incredibly handy.

Navicat for MySQL: I think other clients, namely Sequel Pro, are getting close to being on parity with Navicat now but I still can’t give up it’s ability to transfer database tables and data between databases and other servers.

Paw: A lot of code I write is either consuming or creating APIs. PAW makes testing and debugging these easy. It’s like Postman but so much more powerful.

PhpStorm: This is still the king of the PHP IDEs and something I use daily for all kinds of tasks.

Pulse Secure: My work VPN

Quicken 2018: With the current version Quicken has gotten better but it’s still something I would like to replace in the future. For now, however, it helps keep me organized.

Slack: My team at work uses this for pretty much everything (it’s the rest of our organization that uses Skype) and I keep involved in a few other slack teams to stay connected throughout the day.

Visual Studio Code: This is my backup text editor for small edits or other tasks in which PhpStorm is overkill. It’s great for it’s secondary role but simply not powerful enough to replace a real IDE.

Zoom.us: For my team at work as well as any other video conferencing needs I have Zoom.us is pretty awesome. It’s faster and more reliable than Hangouts and the stand-alone client is more appealing to me than many other browser based solutions.

A few apps not listed:

oh_my_zsh: I use the built in Mac Terminal app for command line stuff and zsh with .oh_my_zsh as my shell environment. I used to play around with lots of custom dotfiles and other nonsense but haven’t looked back since I found oh_my_zsh. It just makes it all easier.

Homebrew: As the Mac App Store has pretty much become abandonware I manage all the software on my computer with it. As a bonus, if I was to switch computers I could install everything I use now with a single BASH script so I guess I’ve got that going for me.

My Phone

The biggest change to my mobile this year is that it’s now a Pixel 2 XL on Google FI. If you’re interested in how my experience to go the platform went I’ve written a fairly long post on it recently. For the most part, as with my older iPhones, I stick to the stock apps. The screenshot above actually has every app installed on it visible.

For me my phone is simply an extension of my laptop allowing me to access whatever I might need when I’m not near the laptop. It’s worked so well in this role that, in the last year, I’ve dumped my iPad and Apple Watch (replacing the latter with a Fitbit Versa which I absolutely love) resulting in a much more streamlined tech footprint for me overall.

What’s on Your Computer?

If there’s a theme to my tech use over the last few years it has been “simple.” From apps to the very hardware I use I’ve put in a lot of effort to simplify what I use to both be more productive with existing tools as well as to reduce the distraction of “new and shiny” I’ve fallen victim to all too often over the years.The result is I’m happier with and more efficient with my setup. What else could I ask for?

Tomorrow I hit a big milestone in my life. I turn 40. Normally birthdays aren’t something I think too much of but this one hit me a little bit harder than I expected. My life today is, I must admit, vastly different from where I thought I would be at this point when I hit […]

Tomorrow I hit a big milestone in my life. I turn 40. Normally birthdays aren’t something I think too much of but this one hit me a little bit harder than I expected. My life today is, I must admit, vastly different from where I thought I would be at this point when I hit 20 or even when I hit 30. It’s even so much different from what I thought it would be even 5 years ago and, for the most part, that’s all a very good thing.

Looking Back

Twenty years ago I thought I had my life all planned out. I was about to start back to school to learn to fly airplanes and I really thought I was starting on something that would last a lifetime. I was looking forward to, what I thought at the time, was going to be something exciting and fulfilling and it seemed like nothing was going to slow me down.

Ten years later, when I turned 30, things looked a lot different. Flying, it turned out, was actually about as exciting to me as watching the grass grow while in a tiny room with over one hundred angry people. I was bored to tears and, as a result, I had been building websites on the side for SIU that with the recession turned into an opportunity to get back to school for a career where I could actually build something. I was working on a degree in computer science and figured I would, if I was lucky, get to build sites for SIU or another university for a long time to come.

Really, at 30 I pretty much had it all. I was no longer a glorified bus driver, I was making a little more money and I got to wake up every morning knowing what city I was in without having to look forward to dealing with yet another airport. Life was pretty good.

Frankly, all of my thirties were pretty damn good. I finished a master’s degree, moved to Austin, built and sold a small company, moved to the beach, spoke 50 times all over the world including my last talk which was a keynote for a tech conference, designed and taught my own university course and generally enjoyed my time at home with Joy and traveling all over with a chance, this time around, to actually get to enjoy the places I travelled to. What more could I ask for?

Today

Today Joy and I are happily living in Florida, working from home and traveling the world on our own schedule. After three years of relative quiet while we settled in I’m starting new projects, speaking to bigger audiences and working for one of the biggest and best universities in the country where I was sought at for my experience with WordPress and web development in general.

I’m also restless.

I haven’t touched an airplane in 10 years and, while I hated the idea of an airline and flying jets around in general, I actually do miss teaching it. While it wasn’t a lucrative career flight instructing was incredibly rewarding and, even after promising myself numerous times I would get back to it, I still haven’t had a chance to move on it.

I’m near my heaviest weight of all time as well. Working from home really is wonderful but it sure makes it hard to get enough exercise. I say “near my heaviest” as, three months ago, I joined a new gym, found a personal trainer I like and have started to get myself back in shape but I’ve got a long way to go on that one. It turns out the downside to being happy and comfortable is it comes with a lot of snacks and getting out of the house isn’t always the easiest thing during the work day. Our drinking has helped with this either. It turns out that living in your dream neighborhood, where you can walk everywhere including dozens of bars, makes going to the bar the easiest thing in the world after a long day. It’s a trap Joy and I have both fallen into and we need to step up our efforts to get out of.

With both of these I’ve even contemplated going back to the airlines as I feel like, compared to what I’m doing now, it would be fairly easy and, honestly, there are days when a break from the daily challenges of my work would be nice. That said, it only takes a few minutes of those thoughts to remember how bored I was last time and realize that isn’t the answer.

I also haven’t built any major projects on my own in over three years. The biggest project I had, which served me well at work and elsewhere, turned out to suck pretty much all the time I had for any other side work.

All in all, life is pretty good right now, restless or otherwise. I still drink to much, I need to lose more weight and I want to find an exciting project while getting back to teaching people to fly but… We all need goals, right? In the big scheme of things I think those are probably good problems to have.

Looking Ahead

So what is the point going forward? The truth is, for the first time at a major birthday for me, I don’t really know what the future brings. Looking back professionally I realize I pretty much missed my 20s and find myself, today, where I probably should have been at 30 but that isn’t necessarily a bad thing.

This isn’t to say I don’t have goals for my 40’s. Joy and I both want to travel more. We want to walk the Camino de Santiago. I want to read and write more and get my fitness level back to a point where I’m not embarrassed to where most of my clothes. Those are all good goals, right?

Mostly, as I hit this new milestone, I look forward to not having to reinvent myself professionally over the next decade. I want to put my energy into building things that will help me and those around me while learning as much I can about the world around me, both are things I feel like I’ve put aside for far too long while trying to “make it” as either a pilot of a developer.

So as I look today at a new decade I do so without the aid of a crystal ball and with an ambition to live life rather than find it and I am quite alright with that outlook.

For the last four and a half years I’ve poured an awful lot of time into my local development environment which has morphed to one of my most popular projects of all time on GitHub. Primary Vagrant was my first real devops project that helped me learn technologies from Puppet to Ruby and from Vagrant […]

For the last four and a half years I’ve poured an awful lot of time into my local development environment which has morphed to one of my most popular projects of all time on GitHub. Primary Vagrant was my first real devops project that helped me learn technologies from Puppet to Ruby and from Vagrant to server architecture to a level of detail I never thought I would need.

Today it is time for me to announce that I have shut down the project.

While Vagrant and Puppet brought a lot to the table the fact is that I’ve spent more time over the last few years maintaining that environment rather than using it to build anything of substance. While it served me well at my day job building sites for a number companies as well as products like iThemes Security today it’s starting to show its age… and its limitations. Simply put I’ve hit the point where I don’t find the work that would be needed to update it to a newer version of Ubuntu Server and Puppet worth it.

What does this mean?

Well, if you’re using it it will continue to work for now as long as you don’t update your Vagrant software past version 2.0.3. If you want to fork it and continue the work yourself it will also continue to live in an archive on GitHub.

As for what I’m using now I’ve moved on to Docker where I’ve been working on a flexible solution for my work and that of my team and it’s darn close to a spot where I can share it with the world.

This weekend I had the honor of returning to near where I started my WordPress career by giving the opening keynote presentation at WordCamp St. Louis on Building with Community. The talk was an overview of building Better WP Security and other projects and how the WordPress communities helped me along the journey and, eventually, […]

This weekend I had the honor of returning to near where I started my WordPress career by giving the opening keynote presentation at WordCamp St. Louis on Building with Community. The talk was an overview of building Better WP Security and other projects and how the WordPress communities helped me along the journey and, eventually, how I managed to build a successful community around the plugin. Below are my slides from the talk.

Back in December I wrote about an experiment I was doing where I had started using a Google Pixel 2 XL on Google Fi along with my AT&T iPhone 8+. Five months later I’m happy to report there was a clear winner in that little contest. In fact, within weeks it became clear to me that […]

Back in December I wrote about an experiment I was doing where I had started using a Google Pixel 2 XL on Google Fi along with my AT&T iPhone 8+. Five months later I’m happy to report there was a clear winner in that little contest. In fact, within weeks it became clear to me that it wasn’t really a content at all and that my iPhone really couldn’t hold a candle to my Pixel.

The funny thing about this all is that the original experiment wasn’t to get me to switch from iOS to Android. Frankly, while iPhone had plenty of quirks, it worked really well in my workflow where I consider my phone simply an extension of my laptop when my laptop isn’t handy. I don’t use them together rather when I put one down I want to be able to pick the other one up and just keep going. iPhone did that well. What I was looking for instead was a cell phone service that worked in my neighborhood which is a complete dead zone for AT&T and, at least in talking to friends, most other services. As such going to Android was a side effect of giving Project Fi a try as it seems like it had the best chance of making sure I could connect to anything when I’m not on the wi-fi in my house.

Pixel 2 XL Beat my iPhone 8+ hands down

From service (more on that soon), to integration with my workflow and from apps to reliability I’m much happier with the Pixel 2 than I was with the iPhone 8+. Like I was with the iPhone I’m not a heavy phone user but for the apps I do rely on I’ve found Google does a much better job overall than Apple. Here’s a breakdown of some of the most important app changes I’ve made and how they compare across the two devices.

iMessage vs Hangouts

Let’s start with the weakest link in the chain, Google’s messaging strategy. Over the first three months I had the new phone I actually bounced around between a number of messaging apps looking for the best one for me (a feat in and of itself as on iPhone I never had an option). My main goal was a reliable messaging platform that didn’t require me to use up too much mobile data and would integrate seamlessly with my laptop which is where I do the bulk of my messaging.

Hangouts, though quirky, has turned out to be the best option here. While Google killed text messaging in Hangouts for most users it is still the primary platform for Google Fi users and probably will be until RCS can be integrated into the network. It never misses a message, let’s me send to everyone and even makes it easier for me to tune out on my laptop while working than iMessage did. Everything else I tried would require mobile data to be reliable or would simply miss messages or generally make it tougher for me to contact who I needed to.

Where Hangouts fails in comparison to iMessage is in the interface. It just isn’t intuitive. On the desktop, for example, if I want to start a text conversation with a new person I have to open Google Contacts in another window, copy their phone number and paste it back into Hangouts as there is no way to pick a contact. On mobile adding something as simple as a meme is a ten step exercise in patience as well as the interface was simply never properly thought out for the use case.

One major benefit of Hangouts over iMessage: syncing. I clear out messages rather frequently. On iMessage that meant deleting them individually from each and every device. There’s no such issue with Hangouts. What I do on one device is instantly available everywhere and that has been wonderful.

All in all though, after some trial and error, Hangouts will do everything I need it to even if it is is clunky in some areas

Google Maps vs Apple Maps

With the exception of speed limits on Apple Maps’ driving interface moving to Google Maps has felt like a step up in nearly every way. The information is often more complete, the traffic more accurate (including rerouting around traffic) and the ability to download maps for offline use has been game changing. Yeah, I could have done this with the iPhone but my experience with each has shown me that nearly all app categories had issues when using something other than the default on Apple and this was no exception.

Originally when we I got my Pixel we were running maps on both, particularly where we could save data. After four 500 mile road trips we started to rely only on the Pixel for navigation by March as a combination of more a more reliable app than the iOS version along with offline maps and simply a better data service than what we had on our iPhone had us trusting the Pixel more when we flew back to Texas to SXSW. I miss the speed limit while driving but that isn’t worth giving up all the other benefits that have come to switching to Google Maps where it is a first-class citizen on my device.

Apple Music vs Spotify vs Google Play Music

I must start out by saying that I enjoyed Apple Music but even on iPhone I felt like there was something missing. As such I started trials to, first, Google Play Music and then Spotify even before switching devices. Today, even though we can’t do a family plan on it thanks to our Google Apps accounts, my wife and I are both on Google Music. It’s catalog size, the ability to import your own music and descent discovery made it the right choice for us and how we used to listen to music. After using each for a while I feel like Google’s solution is the perfect middle of the road system in between Apple where discovery and playlists were pretty bad leaving a focus on albums already in your library or added to your library and Spotify which is great if you always want playlists but harder to use if you switch to full albums or your own music a lot.

Pocket Casts vs Apple Podcasts

While Google offers a podcast solution in Google Play Music let’s just say it leaves a lot to be desired. As someone who listens to podcasts more from my laptop than my mobile I needed to find a replacement for Apple Podcasts that would fit my workflow and Pocket Casts does it effortlessly. In fact, when I was using iTunes for podcasts I had to create a weekly todo task to go in and sync podcasts between devices as Apple’s syncing was absolutely horrible. With Pocket Casts everything syncs perfectly and with plenty of control and options to listen just how I want to. Between Pocket Casts and Google Music we even went as far as dropping two old Apple routers we were using as Airplay devices on our speakers and bought two Chromecast Audio devices instead which, along with a standard Chromecast on our bedroom TV, allow us cheap and easy access to any of the speakers in our house. Lately it seems like we’re listening to a lot more music because of it all and I think that’s a good thing.

The best of the rest

As for the rest of the apps, tools are tools. Whether with Chrome vs Safari (I miss Safari reading list but love Chrome’s notifications on Android) or Apple Notes vs Google Keep each has its own strengths and weaknesses but none of them have been issues for me as it’s taken no more than a few minutes with any given app change to feel right at home in the new system. Even data transfer went flawlessly within a few hours as I moved over about 140 GB of data from Apple to Google services. Changing apps is something that has become part of modern life thanks to all the alternatives out there to everything as such with nearly all the apps I use it wasn’t the first change and I’m sure it won’t be the last.

Google Fi vs AT&T

As I mentioned early the real reason for my initial switch was my mobile service provider. I had been on AT&T for about 3 years and although it really did work well most places in my own neighborhood, where I spend more than 90% of my time, it was nearly a complete dead zone. Even having a phone conversation was nearly impossible if I was walking around the block as the service was too spotty to keep it going.

Google Fi has been amazing. So far with it I’ve been to four states and pretty much every corner of Florida without it missing beat. When family on Sprint were having issue in St. Augustine I simply jumped to T-Mobile’s network and kept right on going. While it’s true that none of the three networks Fi uses domestically are as complete as Verizon or AT&T, together they easily make for a complete and reliable solution that, at least so far, has yet to fail me.

As an added bonus, Google Fi is, on average, less than half of what we were paying on AT&T. We were paying about $45/phone/month for 15GB of data split four ways on AT&T. In the three years I had been on it the most I had ever used (I was easily the heaviest data user) in a single month was 3GB. With Fi my line is $20/month with $10/GB for data up to 6GB at which point any more data used is free. This means if I went all out on Fi and used, say, 10GB the most my bill would ever be is $80 for the month. I had never gotten close to that much data on AT&T and so far on Google Fi the most I’ve used in a month is 300MB for a total bill of $23. This month I haven’t used any data at all thanks to the fact that everywhere we go near home we have wi-fi and, even if I travel somewhere where I really need data it would take quite a few months of heavy data usage to approach the bill I had with AT&T.

Some Final Thoughts

While no technology is perfect I can truthfully say I’ve been happier with Google Fi that I really thought I would be. I’ve been so happy with it, in fact, that my wife joined me on the plan at the end of March and last month we sold both of our iPhones leaving us solely on Google Fi for now. It simply works well with how we both work, saves us money and gives us the piece of mind of multiple networks when at home in the US as well as the ability to go to nearly any other country without any extra charge. What more could we really ask for?

If you’re thinking of giving Google Fi a try use my referral code and we’ll each get a free month of basic service. Unless you’re a very heavy data user you won’t be disappointed.

In upcoming versions of Google Chrome, Google promises to make it easier to disable autoplay on videos. For now, however, it’s not quite as easy to get to but still available if you know where to look. To stop the autoplay nonsense in Chrome yourself here’s what you need to do: Go to chrome://flags/#autoplay-policy in your […]

In upcoming versions of Google Chrome, Google promises to make it easier to disable autoplay on videos. For now, however, it’s not quite as easy to get to but still available if you know where to look.

To stop the autoplay nonsense in Chrome yourself here’s what you need to do:

Go to chrome://flags/#autoplay-policy in your browser

Under Autoplay policy select Document user activation is required.

Click RELAUNCH NOW at the bottom of your browser screen.

That’s it, you should now get far less annoying videos playing automatically as you browse the web.

I should add that I did this in the latest build of Chrome 63 on my computer. If you don’t see the option yourself make sure your copy of Chrome is up to date.

Doesn’t everyone love writing end of year posts (or in this case, beginning of the year posts)? I had some pretty lofty goals last year, some I did well at and others, not so much. If there was a theme of this past year it would probably be disconnecting from work, at least from working […]

Doesn’t everyone love writing end of year posts (or in this case, beginning of the year posts)? I had some pretty lofty goals last year, some I did well at and others, not so much. If there was a theme of this past year it would probably be disconnecting from work, at least from working too much anyway. That wasn’t a bad thing. With a little luck it will continue this year with an added focus of improving my own health.

We actually went on a real vacation, an Alaskan cruise in September for our 10th anniversary

I’ve simplified my online life from social media to the devices I carry leading to less stress and, hopefully, the beginning of far more productivity

Basically, with the exception of my health it wasn’t a bad year. I have high hopes to make 2018 even better though

2018: Hopes and Dreams

If I could pick any theme for 2018 it would be getting healthier, mentally and physically. To get there I’ve got a fairly good lists of specific goals. While I’m sure that, like every other year, not all of them will be reached I do think I can make a good run at most of them:

I’m going to mostly go dry. I did really well at this in December where we only really drank anything while traveling. I’m looking to expand this in the new year and try to keep any drinking to traveling only

I want to finish 26 books. This might be a little low but it still seems pretty reasonable to me

I want to finish 52 posts on this site

I want to get my step goal back to 10,000 steps and keep it there

I want to get my weight under 180 lbs (a loss of 25 pounds from where I’m at today)

I want to start work on side projects again and have a few ideas in mind

I want to get back to Europe, this time with Joy

So with luck I’ll get healthier and put the time we’ve spent on drinking in the past to good use building something fun. Seems simple, right?

There’s a lot of talk, understandably, about Net Neutrality right now after the FCC’s vote the other day. Some of it is legitimate, some of it is garbage and all of it, as with any other major change, leaves a lot of unknowns. More than most issues these days the issue of Net Neutrality worries […]

There’s a lot of talk, understandably, about Net Neutrality right now after the FCC’s vote the other day. Some of it is legitimate, some of it is garbage and all of it, as with any other major change, leaves a lot of unknowns. More than most issues these days the issue of Net Neutrality worries me both professionally and personally due to a number of factors mostly centering on the potential implications it could have on our society as a whole over the course of the next few generations. Here are a few of my own thoughts as someone who has worked both in tech as well as some of the most regulated industries in our modern economy including aviation, healthcare and education.

Removing the Title II classification is not deregulation

First and foremost we have to wake up to the fact that removing the Title II classification, the bulk of what was done last week by the FCC, is not deregulation. The regulation imposed by a government is more than the number of words on paper and, as in this case, can take the form of a conscious choice to regulate an industry in favor of one set of players over another The FCC, in this case, has made a choice to regulate the internet in favor of the few large internet service providers that control the access to the internet for the vast majority of both American individuals and corporations. Selling this choice on the idea that less documented regulation is somehow deregulating the internet is nothing but a sideshow to win over the opinions of groups of people who tend to think anything the government puts on paper is bad.

Lack of Net Neutrality means paying for delivery, not for access

Everyone on the internet pays for access. From the users at home to the large media providers all are paying to get online and expect what they send to be treated equally. The main goal of removing Net Neutrality is to remove that expectation of equal delivery after you’ve paid for the access. In other words the internet service providers want to continue to charge all for access but now want to charge those using their access to provide a product to make sure it is actually delivered.

At a basic level this means the internet service providers want a cut of what you’re using the internet to send out and has severe implications over time, particularly for smaller companies who don’t have the margin to spare. In addition, even for the companies that can afford to get started it will often mean the end user will be making up the difference either in raw dollars, more intrusive advertising or simply lack of availability to smaller, independent content and other products.

The effects will not be felt tomorrow

The bulk of the hysteria around Net Neutrality is in the thought that we’ll wake up one single day soon and be faced with packaged internet in the same way that we buy packaged cable. It won’t happen that way as people would rise up in a way that might actually lead to meaningful regulation to fix the problem.

Net Neutrality will, instead, kill the internet in the same way one would boil a frog. Small changes over time that particularly affect new entrants to the market will instead culminate in fewer choices and greater expense over time. Independent media and services that aren’t owned by the internet service providers will suffer loss of advertising dollars and other revenue over time, putting many out of business as the “preferred” services simply run better. Most people will leave a website if it takes more than a couple of seconds for a page to load now. As that delay is exaggerated due to fast-lanes and other issues it’s effects will result, over time, in fewer and less diverse sources for the information and services that people are trying to access. This is a process that will take years, not days or weeks and as such will go unnoticed by many.

You will still get your social media

Facebook, Google, Twitter… They’re not going anywhere nor is your access to them. We all know it would simply be impossible for our internet providers to enforce a direct monetary cost to consumers on something that we’ve become accustomed to for “free.” They’ll still have to pay for delivery but those costs will be passed on to consumers in the form of more ads and other methods that don’t directly go after our credit cards.

The thing here is we have those services already. While a scenario of bundling access to sites like cable tv is possible, as appears to be the case in countries like Portugal, it isn’t likely here. The marketing of such a change would never get the approval of the end users. In other words, things you have today, especially the services offered by giant companies such as Facebook, Google, Time Warner and others aren’t going anywhere anytime soon. The cost in public relations would far outweigh the benefits over all but the longest of terms.

Innovation will suffer the most

So what will be hurt by Net Neutrality? It’s the startups, the innovators, the smaller websites, services and content providers that don’t have the financial backing to compete with the delivery costs of the larger, already established players. “Start-up culture” and the independent developers will suffer as will open-source and other projects that have driven so much of the development of the web and related services over the last 10-20 years.

Without access to customers new ideas will simply not be able to make it to consumers the way they have been since before the dot-com bubble almost 20 years ago. From the dozens of to-do list apps to independent music and stores that don’t sell through large markets such as Amazon it will be much harder to get anything new to consumers.

The poor and those just getting started will find it harder to get ahead

From video courses that compete with large players like Lynda to start-ups that are willing to take a chance on an inexperienced employee the lack of innovation and diversity of content and services will hurt the poor and inexperienced, such as students, the most. Many in tech and other industries, not to mention students in traditional college programs of all kinds of differences, use the internet to augment their training if not as the sole source of their initial training in their discipline. Reducing the availability of free content as well as the market for new products, content and services will simply reduce the opportunities for those just getting started or whom are simply looking to better their position in life.

Already today the internet is a commodity necessary for life in our modern society. Even the most basic of job applications in retail and other locations are distributed if not applied for on the internet. Making these harder to discover and less available as well as making it harder to get the education needed to perform all but the most basic of jobs will simply hurt those who aren’t already set in their careers and position in our economy.

Let’s also look at this from the point of dollars. In this case for the services that are paid for by ads, as stated earlier, not much will change. But what if the packaged internet scenario was to come true or what if Net Neutrality serves to do nothing but double the internet bill for all of us? Frankly that won’t hurt me too much personally as I could absorb an extra $65/month without too much issue. For someone who is struggling to make ends meat however that much of a price increase, where $65 might be the power or water bill, could be enough to completely cut them out of the internet and, as a result, much of the modern economy. From children in poor households to young and old people trying to enter or change careers while balancing the challenges of life this extra cost will be far more of a burden than just about anything else, even if many of us who are reading this will have the privilege of being able to afford it.

Why I worry about Net Neutrality

In the end I worry about Net Neutrality, or more specifically the lack thereof, because over time it will weaken us as a society. In an age where the un-restricted access to information has become a commodity as important as, if not more so, oil and others reducing access to that commodity will, given time, hurt us all in ways that are far more important that just whether or not I can get to Facebook or Twitter tomorrow without coughing up a few extra dollars. While the world will go on without US leadership, as is already being demonstrated over the last year, over time real innovation will simply move to greener pastures leaving those of us who are here in the dust.

We write a lot of plugins at work. On average I seem to build one or two a month myself and I’m one of a team of developers working on our site. With that much code getting built keeping all that code maintainable can be quite a chore. To make that chore a bit easier […]

We write a lot of plugins at work. On average I seem to build one or two a month myself and I’m one of a team of developers working on our site. With that much code getting built keeping all that code maintainable can be quite a chore. To make that chore a bit easier I’ve introduced the team to WordPress coding standards and other tools but it can still be a challenge to keep all the plugins organized.

Yeoman is a scaffolding tool I was first introduced to during my tenure at 10up who used it in a very similar fashion as what I needed. It creates a WordPress plugin that can be activated and comes complete with a Grunt build for handling assets, a base for PHP unit tests and enough other standards and tools to completely remove the burden of spinning up a project from our developers.

Now, instead of starting each plugin from scratch, we simply type yo wp:plugin, answer a few questions such as the name of the plugin, the plugin description and other basic information and we’re ready to start developing in a scaffold complete with all the tools to help make sure the code is both well organized and of top quality.

One of the best aspects of my job at UF Health is we get to experiment and push boundaries if it means advancing the interests of our customers (in our case “customers” are the departments, labs and other units that build sites on one of our WordPress platforms. One of the tasks I’ve been asked […]

One of the best aspects of my job at UF Health is we get to experiment and push boundaries if it means advancing the interests of our customers (in our case “customers” are the departments, labs and other units that build sites on one of our WordPress platforms.

One of the tasks I’ve been asked to look into involves two parts:

Allow for personal data to be accepted via Gravity Forms while meeting full HIPAA/FERPA compliance

Allow for individual groups on our BuddyPress intranet to handle personal and other sensitive data to meet HIPAA/FERPA compliance.

While the latter is, I must admit, still a work in progress I have been able to make a working proof of concept that would allow for secure storage of Gravity Forms entries that will, hopefully, be able to meet our regulatory requirements.

Here’s how it works:

First, we’ve setup data storage by creating an account on innovault.io. This is a new service from the folks at Tozny that aims to make encrypted storage as easy for developers as accepting payments through a service such as Stripe or something similar.

To handle our credentials I build a simple Gravity Forms add-on that can add these credentials to an individual form. This is a bit different than many services Gravity Forms interacts with where credentials would be entered into the main plugin settings for all forms. We do it this way to make sure that data from any given form is completely isolated from any other form.

Once a form has its credentials we can rely on two main hooks to pull out the data that will be sent to the innovault service. First gform_pre_submission is used to replace all the $_POST values submitted by the user with filler text that will be stored in the WordPress database. Ideally I would like to remove the data here entirely but the fields still need proper placeholders for the form to save. For the data we replace we save it to a local array that will soon be written to innovault.

Once we’ve pulled the secure data and replaced it will filler we use the gform_after_submission hook to grab the entry id, attach it to the secure data as meta information that won’t be encrypted, and send it along with our secure data back to innovault. At this point our data lives only in the secure data store and our local MySQL database has never seen any of it. In addition, innovault has our important data encrypted and associated with the original entry id which will make retrieving later that much easier.

Finally we use the gform_entry_field_value filter to look at each field as it’s displayed in a single view (the table view only shows the encrypted data) and replace it with the data from innovault.

While not fullproof, or even complete yet, the results so far are quite promising. We’re now able to store sensitive information, gathered from Gravity Forms, in a secure location only accessible when viewing but an appropriate site administrator. This opens up all kinds of possibilities for us that will help everyone from our students to faculty and staff with techniques to provide data that is simply unavailable currently.

Only downside, as I mentioned before this is just a proof of concept right now. It is showing promise though and I’ve talked to a number of people who could use a similar solution for their own sites. As such we’ve put the project on our GitHub page. We would love your feedback and/or pull requests if this is something you’re looking at implementing yourself.

This is the first post in a series I’m working on involving tailoring security and privacy to you. While there are best practices that apply to everyone a good part of our online security and privacy is a personal thing and can vary greatly depending on factors such as who we are, what we do […]

This is the first post in a series I’m working on involving tailoring security and privacy to you. While there are best practices that apply to everyone a good part of our online security and privacy is a personal thing and can vary greatly depending on factors such as who we are, what we do for a living and others.

The Threat Model

According to Wikipedia: “The purpose of threat modeling is to provide defenders with a systematic analysis of the probable attacker’s profile, the most likely attack vectors, and the assets most desired by an attacker.” In other words, a threat model is knowing what the possible threats are and what they might want from you.

To form a threat model we must ask four questions:

Where are the high-value assets?

Where am I most vulnerable to attack?

What are the most relevant threats?

Is there an attack vector that might go unnoticed?

At the scale of a company or a product these four questions can take a good amount of study and analysis to answer as the difference in threat models at scale can range from very simple to very complex as the number of people involved grows along with the complexity of the product or business doing the modeling.

For individuals however the threat model, while still capable of being extremely complex for some, is often either over thought nearing the point of paranoia (everyone and everything is out to get everything I have) or completely ignored (no one will care about this compromising picture I just put online for the world to see). The truth, as usual, is often somewhere in between. Knowing the threat model for yourself as a person will then lead to common-sense solutions to security and privacy that won’t cross any lines that could needlessly put you and your data at risk.

Two types of threats

For the purposes of this post and it’s follow-ups let’s look at our personal threat model at two points:

Security

First, let’s look at security. Security involves preventing attacks against ourselves and our data that might arise from the opportunistic to, as is often the case, someone we know with malicious intent such as a former employee, family member or friend. For must of us the security model is fairly simple and covers a lot of the tips and techniques we all already know such as maintaining good passwords and more. The point of the security model therefore is to keep you and your data safe from those who wish to cause you harm.

Privacy

While they often sound similar, privacy and security are in fact two different things. In security we’ll talk about keeping you and your data safe from attackers. In privacy we talk about the appropriate use of our data or the misuse that might arise not only from data acquired by an attacker but from the very data we make available to people and companies every day simply by going through our daily lives.

To look at these in other terms we all generate data. The fact you’re reading this site means there is a certain amount of data about you as a visitor that I can collect to know who is using my site. How I use that data then becomes a matter of privacy. On the other hand, just by visiting this site you are providing me no personal data such as passwords, or email address or anything else that you may want to protect. If I tried to obtain that data from you through malicious means that would be a violation not only of your privacy but of your security. Simply put then for the purposes of this series privacy covers the data you’re protecting whereas security covers the locks you put in place to protect that data.

Do you know what is really important to you?

Given our definition of threat model and the differences between security and privacy do you then know what your own threat model is? If you’re a Facebook user, for example, are you aware of the dangers posed by a weak password or simply the posts you make public? What other services do you use to protect yourself and what services get data about you? It’s amazing how much data we all generate but it isn’t something to fear. Knowing where your comfort level is and what you’re sharing as well as the implications of what your sharing combined with what you do to keep yourself safe becomes your own personal threat model. Over the next few weeks I’ll share my own experiences with forming my own threat model as it relates to both my security and privacy as well as plenty of tips and tricks to both form and understand your own personal threat model.

Logins can often be a weak point for many WordPress sites. From weak passwords to lack of good 2-factor authentication, many people just don’t seem to take it seriously. On top of that, even for site owners who do their best to lock down their user accounts it can often be trivial to exploit various […]

Logins can often be a weak point for many WordPress sites. From weak passwords to lack of good 2-factor authentication, many people just don’t seem to take it seriously. On top of that, even for site owners who do their best to lock down their user accounts it can often be trivial to exploit various weaknesses to get into the system through the login page such as dictionary attacks and others.

Given the weaknesses of the login page for small sites why bother using it at all? Why not simply rely on a trusted service such as WordPress.com to authenticate your users for you? We do this all the time with other services we rely on logging in with our Facebook or Google accounts rather than providing our own user name and password. Why not do it for your site to?

If You’re a Jetpack User Secure Sign On Is Built In

Yep, that’s right, if you’re already a Jetpack user you can offload site logins to WordPress.com allowing people to use it as an extra login or, more securely, by forcing users to login with their WordPress.com account. This means you’re no longer responsible for authenticating your own users and, as long as they have a WordPress.com address you can make it available to them with a single option and even require their WordPress.com accounts to use 2-factor authentication.

First, make sure each of your users has an account on WordPress.com, preferably with the same email address as their local account.

To make Secure Sign On available via Jetpack navigate to Jetpack -> Settings -> Security and turn on Allow users to log into this site using WordPress.com accounts (see the screenshot below). You can also set options to automatically match accounts by email address and/or require WordPress.com users to enable two-factor authentication on their accounts. For security I would highly recommend turning on this last option.

Go to your Jetpack Security settings and turn on WordPress.com logins and their associated options.

Redirecting Your Login Page to WordPress.com

Turning on Secure Sign On with Jetpack is the first step. To be even more secure we need to redirect our login pages to WordPress.com bypassing local login entirely. To completely disable your local login page you’ll need to add two lines of code to your theme’s functions.php file:

Save your functions.php file, logout of your site and try to login again. You should no longer see your own WordPress login page but instead you should be taken to a WordPress.com login page. Once you log into WordPress.com you should be automatically taken back to the dashboard of your own site. Congratulations, your site logins are now much more secure.

]]>https://www.chriswiegman.com/2017/12/securing-wordpress-logins-jetpack-wordpress-com/feed/29340Making FitBit Work for Me: How FitBit Really Has Made Me More Fithttp://tracking.feedpress.it/link/18506/8159740
https://www.chriswiegman.com/2017/12/making-fitbit-work-fitbit-really-made-fit/#respondSun, 10 Dec 2017 15:50:10 +0000https://www.chriswiegman.com/?p=9332

Keeping active, much less in shape, has been a challenge of mine for years but really ramped up four years ago when I started working at home. One of the best ways I’ve found to keep myself active when sitting at home all day is my FitBit. From it’s gamification to it’s step goal I’ve […]

Keeping active, much less in shape, has been a challenge of mine for years but really ramped up four years ago when I started working at home. One of the best ways I’ve found to keep myself active when sitting at home all day is my FitBit. From it’s gamification to it’s step goal I’ve spend the better part of the last three years making it work for me and I can definitely say that it has helped me improve my health more than any other device or technique.

Why FitBit

I’ve had a FitBit since 2012 and, frankly, it really didn’t do much for me until I started setting appropriate goals in 2015. After two years of it actually helping motivate me to move I switched to an Apple Watch in April of this year. At first I thought its emphasis on calories as the main goal was helpful but by the end of November, as my weight had hit a new record, I looked over the months of data (I had imported all my FitBit data into Apple’s Health app when I moved to it) and realized that overall I was actually getting far less activity than I had before.

Of course there’s more to it than just activity throughout the day. Getting to the gym (we’ve had a YMCA membership since we moved here) and diet are big parts of the equation but looking back over the data my gym attendance and diet really haven’t changed at all over the last three years. I’ll add improving on each to my New Year’s resolutions for next year but for the point of this post it really does make a difference which tracker I use. When I stopped using my FitBit in April I was averaging a bit over 11,000 steps per day. By June, with the Apple Watch, I was down to about 3,000 and it stayed at that point until I switched back to a FitBit Charge 2 on December 1. Last summer, by comparison (it get’s hot here in the summer and walking outside tends to suck), I averaged just over 8,000 steps per day. That’s quite a difference.

FitBit Didn’t Always Work for Me

Before I get into how I make FitBit work for me I should point out that it didn’t always. It wasn’t until I got my first FitBit Charge in July of 2015 that I really figured out how to make it work for me. Looking back on the data prior to this I was around the same 3,000 steps per day that I did when I had the Apple Watch. It wasn’t until I revisited how I was using it that it really started to make sense and pay off.

How I Made FitBit Work for Me

Step 1: Set Appropriate Goals

Setting appropriate goals was the single biggest change I made to how I use my FitBit. When you buy one it comes with a 10,000 step goal. Not only can that be difficult for you physically if you’re not used to it but if, like me, you try to keep to a fairly consistent routine the amount of extra time you could spend getting that many steps in per day might not be realistic at first. For example, I average somewhere between 5,000 and 6,000 steps per hour. To try to go straight from 3,000 steps to 10,000 steps means I need an additional hour and a half in my day to make my goal. That wasn’t going to happen.

Start at 5,000 steps

Given 10,000 is too high I’ve set my FitBit to a 5,000 step per day goal. This is an extra 15-20 minutes of walking per day which is totally doable and I don’t feel tired from pushing myself all the way at the beginning.

Don’t worry about starting even lower

If you average 1,000 steps per day now maybe starting at 3,000 steps per day is appropriate. Maybe you’re more active and 6,000 is a good goal for you. The point is wear your tracker for a few weeks or so to see where you’re at now and then set a goal a bit above it. You don’t need to shoot for the top right from day one. That’s the whole point of getting better.

Step 2: Re-evaluate Your Goal When Appropriate

Here’s how I re-evaluate my own step goal:

When I’ve hit my step goal every single day (no exceptions) for 4 weeks straight I raise it by 1,000 steps.

If I go 4 weeks in a row where I’ve missed my step goal at least 1 day per week for each of those 4 weeks I lower it 1,000 steps.

This 4 week mark gives me plenty of time to adjust physically and mentally do simply doing more. When I started in July of 2015 it took me until December of 2016 to get to 10,000 steps. A year and a half. During that time I never once went down in my goal (that 4th week could sometimes be stressful but it was always worth it). When things were busy and I didn’t prioritize the goal it instead stayed right where it was and gave me a constant reminder to get out and try for it at a lever I knew darn well I could keep up with.

Now, after 8 months without the FitBit I’m starting out again at 5,000 steps and I’m about to hit my first full week of it. It isn’t much but it is quite a bit better than the 3,000 I was getting just two weeks ago.

Step 3: Use the Game

Next to setting a realistic goal the single best aspect of FitBit, for me, has been the game itself. FitBit tracks and ranks you and your friends by number of steps taken for the last seven days. While I might never be able to catch my wife in this little game I have friended a number of people I know who are at similar places in life. Over the year and a half I build my goal up with my last FitBit I went from the bottom half of the pack to near the top and people did notice. When folks started competing that’s when, to me, it got a lot more fun. Don’t be afraid to friend people in that boat. You meeting your own goals will be inspiration for others who can and will inspire you to be better yourself.

Your Mileage May Vary

As a recap, using a realistic goal, and re-evaluating that goal on a schedule, has allowed me to really maximize my own goals with FitBit. Yes, I can do better with more formal exercise and a better diet (something I really hope to dive into this winter and beyond) but even without the more formal habits it has made me healthier and helped me feel better. It isn’t the only tracker out there though. Apple Watch, for example, focuses on active calories (calories burned by doing more than you normally would) instead of steps and I know a number of people for whom that has been a much better fit. Other apps and trackers focus more on diet, specific exercises or other habits. Talking to a fitness expert and finding what works for you is paramount to actually improving your health. If, however, you’re like me though and simply getting up and moving is a step in the right direction add me as a friend on FitBit and lets try to motivate each other.

Yesterday I wrote about an experiment I’m doing in trying out Google Pixel and Google Fi alongside my iPhone 8+ on AT&T. While hardware has been part of the experiment it hasn’t been the only change I’ve made. In addition to switching hardware I’m giving up on my long-held mantra of trying to stick entirely […]

To date I can’t say there has been anything bad about sticking with stock apps such as Reminders, Calendar, Safari, Mail and more. In fact, as all my devices have been Apple for quite some time it made things incredibly easy to do as these are the only apps that can really interact in iOS thanks to Apple’s limitations on the system. They mostly worked for me too. I was able to live with the weird limitations in each app when I never had to worry about them all syncing properly across devices.

The catch is, particularly over the last year or so they often don’t sync as well as claimed and limitations in the various apps, particularly Mail, Safari and reminders have left me longing for good alternatives for quite some time. My switch to Pixel was the catalyst I needed. I simply don’t have a lot of data to worry about about it is the perfect time to start moving off of Apple’s services to those that work best where I need them. Here’s where I’ve gotten so far:

Mail to Google Inbox and Outlook

Unfortunately my work email is MS Exchange. This setup worked OK on Apple Mail but an initial check of email could take up to 10 minutes and putting my work email on my mobile devices caused other problems in the form of device restrictions imposed by system policies in the Exchange system. To make matters worse my personal email account, which links to many development and other resources I need to do my job, couldn’t be checked at all while on my work’s VPN which I need to actually push code and perform most of my job.

As a single cross-platform solution that works with both systems is pretty much impossible and as I work to reduce distractions in my life I’ve opted to split my work and personal email. Work email now stays on my laptops only (which is really the only place it ever needed to be anyway) in Outlook which is, by design, the best solution for the Work exchange account and my personal email has moved to Google Inbox which has both helped cut down distractions and made sure I can get to everything when I need from wherever I need it. In previous companies I hated all my accounts in Google Apps but Inbox actually makes me miss it. It really does a great job at keeping me on top of important email while making sure I’m not distracted by the rest.

Calendar to Google Calendar and Outlook

For the same reason I made the email split I’ve also split my calendar into Outlook for work and Google Calendar for personal and I’m pretty happy with the results. My current position means I really don’t have to worry about conflicting events on the two as I simply work from 9-5 Monday-Friday and make sure that I don’t do personal tasks (with the occasional exception of lunch with a friend). Google Calendar, on the other hand, includes the bulk of my events anyway and the newer interface and its feature set have meant it’s been an important part of my life for quite some time, even if I was limiting it by putting it through Apple’s calendar interface. Funny thing is the only time I’ve ever missed meetings is when Apple Calendar failed to sync them (which has happened a more than I would like over the years).

Reminders to Todoist

I’ve loved Todoist for a while but iOS is a weak spot for it. Notifications don’t always come through and it doesn’t always sync completely to the platform. On the other hand it’s labels, filters and gamification (Karma) are the only system that I’ve actually been able to follow over the years. I’ve tried forcing myself into Apple’s reminders but they always become either too cluttered to be useful or the miss things that I couldn’t find a good way to enter right. To be fair, Todoist still isn’t great on iOS but on Android it works so much better than Apple’s Reminders did on any device and combining it with the desktop app means I feel like I’m keeping up on things better again.

iCloud Drive to Google Drive

This one might change but Google Drive (as well as Google Docs) works quite well for my needs. It isn’t quite as seamless as iCloud Drive in that my computer actually has to be on for it to sync but it backs up the same info and makes it all much easier to access regardless of what device I’m on. As most of my documents are things I need to share anyway moving storage along with documents from iWork to Google Docs/Sheets/Etc was a natural fit and has actually proven quite effective at making sure the documents I need are more easily available where I need them and to those I need to share them with.

Apple Notes to Google Keep

This one will probably change but for the moment Keep lets me get my stuff everywhere. Not sure I’m going to be its biggest fan though. I’ve historically been a big fan of Evernote but I’m not sure it’s worth it with the current pricing model.

Apple Music to… Apple Music

This one, strangely perhaps, has stayed as it is a darn good service. I might give others a try at some point but I don’t feel real compelled to switch this one right now.

iTunes Podcasts to Pocket Casts

Pocket Casts is the only app out there that lets me listen to my podcasts on all my devices and it is light years ahead of iTunes. I actually had a weekly reminder in Apple Reminders to “sync podcasts” as iTunes was so bad at it itself and when I didn’t keep up on it I would get a mess when I eventually tried to listen on a device I hadn’t used in a while. The switch has been great!

Apple Maps to Google Maps

Google Maps definitely has better contextual information but honestly I think I might like Apple maps a bit more still for it’s navigation interface. We’ll see how that goes over time.

Apple Health to FitBit

I really wanted to like Apple’s Health app but I just could never make sense of it in any way that actually motivated me. FitBit just works for me so I’ve gotten myself a new Charge 2 and have gone back to using its app for fitness tracking. This week I’ve walked more than I have in any week at home since switching to the Apple Watch back in April from an old FitBit Charge. I’ll call that a win.

Tweetbot to Twitter

I’ve said for a while that I would leave Twitter if I had to give up Tweetbot. I was wrong. Twitter’s app has actually become a rather nice piece of software and I find it’s presentation and interface keep me from distraction and browsing through extra Twitter feeds more than I did on Tweetbot.

Reeder to Feedly

Reeder was falling behind and Feedly is a really slick replacement so this wasn’t a hard choice. I had kept Reeder to mask the interface of Inoreader for quite some time and avoid Feedly’s 100 source limit for free account but in the end I decided to clean out my feed list and start over which got me well within the free limit and left me with posts I’m far more likely to read.

Breaking free can be refreshing

When I started this post I thought I would have dozens of apps to compare and wasn’t sure how I would do it all. Looking back though I really didn’t use much on my iPhone as there were just little annoyances that made using most third party apps, particularly if the imitate a feature of an Apple app, too much of a hassle. I had exactly 9 apps installed on my iPhone before the switch (now I have a lot more as I’m trying to keep the phone in parity with the Pixel) and the system always just felt limiting. I don’t know yet if all this switch will help or if I’ll just come running back to Apple but so far I do feel like escaping the Apple Ecosystem, even to the limited extent I have so far, has really helped me find the best apps for my work. What else do I really need?

I’ve been on iOS since March of 2012 when my HTC Evo died at SXSW and Radio Shack only had an iPhone 4S in stock. For years it was great. It all worked together so well that by October of this year my wife and I had, collectively, 3 Macs, 2 iPads, 2 Apple Watches, […]

I’ve been on iOS since March of 2012 when my HTC Evo died at SXSW and Radio Shack only had an iPhone 4S in stock. For years it was great. It all worked together so well that by October of this year my wife and I had, collectively, 3 Macs, 2 iPads, 2 Apple Watches, 2 iPhones, a couple of Airport Expresses, an Apple TV and a Time Capsule. This includes my 2016 15″ MacBook Pro with Touch Bar, my 9.7″ iPad Pro, my Series 2 Apple Watch and my iPhone 8+ on AT&T’s network and for the most part it has all worked for us. This past week however I finally took the step of ordering a Pixel 2 XL on Google Fi. I’m not sure I’ll ever look back.

This Wasn’t a Quick Decision

Before I get into my experience with the devices I need to point out that this wasn’t a quick decision for me. I’ve been eyeing a change to Google Fi since it was announced and the Nexus/Pixel line has been something I’ve thought of switching to with the last few phones I bought. Until recently though the annoyances of switching in a family that is all Apple and shares a cell plan (my parents and other family all have their iPhones on our plan) combined with Google Fi not being available for G Suite accounts just didn’t make it worth it for me. Even when Google Fi became available a few months ago I still stuck with the iPhone for my last phone upgrade simply because it was easy. After all, with an iCloud family plan, Apple Music family plan and everything else shared why rock the boat right?

The catch is while it has all been easy it hasn’t all really worked well for me for a long time and as I’ve tried simplifying much of my tech life over the last few years it seemed like now was the best time to finally give Fi and Pixel a chance. So finally, with the holiday sales at Google, I took the plunge and ordered my new phone and service which I’ve now been running alongside my iPhone for the last week.

What I’m Hoping to Accomplish

So what is the whole point of this second phone anyway? There are a few goals I’m shooting for as well as problems I’m trying to solve with a new service. Here’s the bulk of them:

AT&T sucks in my neighborhood
This is a big one for me. While AT&T works almost flawlessly in my travels at home it’s a different story. I simply have no service at all in many of the stores and restaurants we walk to regularly and even being outside with it can be problematic. For example, if I start a call at home (which is over Wi-Fi as the single is rarely more than 1 bar at home) that call will drop as soon as I get more than a few feet from the house every time.

Where AT&T is good it is still expensive for my family
We pay roughly $42/person/month for AT&T + international (I spent around an extra $100 this year on international roaming and we hope to travel more next year). With that $42 each person on the plan uses, on average, about 0.5 GB of data. On a busy month I hold the record for data usage at 3 GBs for the whole month while I was in London. Given this Project Fi is simply cheaper as the same data usage would average about $30/month for me (considering the busy months) and about $25/month for everyone else. That really adds up over time.

I am tired of being so connected with all my devices
Believe it or not, other than the service, my main goal for having a second phone is to simplify. I have an iPad pro that is literally used for nothing but a browser and and Apple Watch that has not only disappointed me as a fitness tracker but also serves only to interrupt me with useless notifications. Both are gone (although I did get a FitBit Charge 2 to replace the Apple Watch but that’s for another post). I don’t need or want every device to notify me of everything. One of the greatest strengths of the Apple ecosystem is everything follows you everywhere. On the other side I’ve realized one of my greatest weaknesses both personally and professionally is that I’m so connected that every notification, every distraction, every reason to not be in the moment also follows me everywhere. I’ll be writing a lot more on this but for now splitting ecosystems helps me compartmentalize the distractions and remove them from where they don’t belong. I can close Chrome and my OS won’t tell me of new text messages. I can close Todoist and I won’t be notified of every little task… until I open it again. Apple’s notifications and interactions are great but there is no escape when you get too deep into the ecosystem.

I want to try something else
Google has some pretty awesome services. They’re simply not as easy to use on Mac and, especially, iOS. As I also consider looking at a Windows or Linux computer again trying to even have access to data where I need it gets even harder if I’m all in with Apple. In addition Android has come a long way since a last tried it. Google’s services are simply more useful (even when not always better looking) than many of Apple’s counterparts. Photos and Maps are great products and even the OS itself is just lightyears better than it was almost 6 years ago. As such I simply want to get out of my bubble and give it a fresh try. Now that I have some real reasons to do so I just couldn’t pass up the opportunity.

So Which Phone is Better

So here’s the important question. After a week which phone is the better phone?

Where My iPhone Wins

Starting off with what I know better there are a few places where the iPhone comes out ahead.

It feels more solid
While dimensions are the same the phone itself just feels more solid, probably because of it’s slightly heavier weight as I’m pretty sure, with it’s all glass case, it would break a bit easier than the Pixel. It’s also a bit wider than the pixel which I think is just a more familiar feel to me than the Pixel which feels a little more toy-like in my hands.

iOS looks better
The screen on the Pixel might be technically better but the icons on Android as well as the squared-off corners on so many UI elements just don’t look as good as iOS. The keyboard is a perfect example of this (I’ve been using GBoard so far). As a developer it reminds me of something we would have made as a homework assignment for an undergraduate class whereas the iOS keyboard simply looks more polished and refined.

Photos backup is easier
While Apple’s photos app has plenty of weaknesses it is completely transparent in its backup and sharing functions. On Android if you want to select a picture to share or send you have to make sure it’s downloaded from Google Photos first, then you can share it. The local photos are found in the “Downloads” app which is a completely separate system from Google Photos which can be quite annoying.

One Messaging app is far less confusing
I’ve got all my messages from my Android syncing across different devices (even my iPhone) but getting there sure was confusing. It took 6 different messaging apps to settle on one I like rather than just going to messages on my iPhone.

Honestly, that’s about it for my use so far. My iPhone simply looks and feels better (both at least in part due to familiarity) on many of the details and is easier to get setup. These differences were enough to keep me here for a long time but not anymore

Where My Pixel Wins

I can use the apps I want how I want to use them
I had given up on using many non-Apple apps for a long time simply because iOS wouldn’t give them the access they needed. Notifications wouldn’t work right, links wouldn’t work right and all sorts of other little nuances would arise simply because Apple doesn’t give apps the access that makes them truly useful. With my Pixel I’ve played with different browsers, mail apps, and all sorts of other details and they work just as well as the native apps (and in many cases much better).

It is more stable
This is a big one (and frankly one I didn’t really expect). Particularly since iOS 11 apps crash on my iPhone more than they ever have. FitBit, Feedly, Calendar, Mail, the list goes on. Simply clicking anything in just about any app seems to give a 50/50 chance of crashing it on iPhone. In a week, so far, with the Pixel not a single app has crashed in such a manor. It’s so refreshing and iOS hasn’t been there in a while. Yes, I’ve tried factory resets and all the other tricks on iPhone but it’s stability still can’t match what I’ve seen so far in my Pixel.

Google’s services > Apple’s
iCloud is solid but Google’s offerings are simply more complete. I’m loving Maps and Photos and have even been able to remove my sports and weather apps as the built-in Google apps do a great job of the functionality without the overhead. I haven’t gotten into Google Assistant much, yet (probably because Siri never really did anything useful for me) but I feel like there’s a lot of potential for me to work it into my workflow as well.

Notifications
Notifications in iOS 11 are a mess. On my Pixel they make sense again and are easier to both access and clear.

The phone’s overall design
Although I still reach for the home button a lot and my iPhone feels better the Pixel does have a better design. The finger print sensor on the back has turned out to be far more useful and the back/home/switch app buttons are far more useful. Granted that might have come with an iPhone X too but over the 8+ I have it sure is a win.

The camera is excellent
I can’t tell the difference between the two cameras in bright light but the Pixel is definitely winning in low-light situations. The few pictures I’ve taken with it so far just look great!

The service
It’s early yet but Google Fi actually works around here and that alone is enough of a win for me to switch permanently if it wasn’t for the family. We’ll see how it matches up over time.

The home screen
Being able to put what I want where I want it on the home screen was something I already missed from Android and it’s great having it back. Whereas the iOS home screen is something of a junk bin on Android it instantly becomes a useful piece of software that the Today screen simply can’t match.

I can “turn off” the integration
Just like iMessage I can still get my calls and messages on any device (even my iPhone) thanks to Google Fi’s integration with Hangouts but now it’s a lot easier to turn it off than it used to be. I can simply close an app rather than having to put everything in do-not-disturb if I want to simply tune something out. This has, so far, been great for my workflow both on my phone and my computer.

So while the iPhone looks better the Pixel seems to just work better (at least for me). From the phone design to the OS and the apps I’ve installed it offers more functionality that helps make my phone a bigger part of my workflow.

So which phone will I keep?

Honestly, after one week the jury is still out. While I love the Pixel the iPhone is still a great phone and the changes to my workflow lately have been major as I’m trying to move away from Apple services as well as their hardware. Fortunately I have plenty of time to decide as I promised the family I would give them both a good run together for a while to get everyone on board for where they want to be. In the end they’re both still a tool that has to work well for everyone it impacts which, at least in my case, is more than just me so we’ll see what happens.

If you’re thinking of getting Google Fi yourself use my referral link and we’ll each get $20 in credit towards our monthly bills.

This week I had the privilege of speaking twice at HighEdWeb 2017 in Hartford, CT. This Was my first time at the conference since 2013 where, on the way home, I helped secure the sale of Better WP Security to iThemes which effectively removed me, at the time, from my roots in education. My HighEdWeb […]

This week I had the privilege of speaking twice at HighEdWeb 2017 in Hartford, CT. This Was my first time at the conference since 2013 where, on the way home, I helped secure the sale of Better WP Security to iThemes which effectively removed me, at the time, from my roots in education.

My HighEdWeb Background

HighEdWeb has a unique place in my heart. My first trip to it was in 2011 when they were in Austin and I left with a job offer at St. Edward’s University that moved us to Texas a few months later. Fast forward to last year and it was a dear friend I met back at my first HighEdWeb that pulled me into my dream job, and current job, at UF Health. Taken together and sprinkled with a few successes and failures along the way and I can truly say that HighEdWeb has been the single most beneficial event I have ever attended professionally, even if my path hasn’t necessarily been in the same fashion as that walked by so many of my colleagues and friends.

Returning to HighEdWeb this year has been no less spectacular even if I’m not leaving with the prospect of a new job or a new state (it would take an awful lot for that to happen as, after a full year at UF, I couldn’t imagine going anywhere else). This year, instead of new contacts and opportunities, I was able to focus on giving back where I could as well as attending the most sessions I have at any conference in years all in an environment that felt more like a family reunion than a work conference. To say it was a positive experience is a bit of an understatement and to choose the highlights is akin to picking a favorite child however here are a few of the things that stood out most for me.

The Content

First and foremost, regardless of the community, HighEdWeb is a professional conference so I think the best place to start is with the professional content. Four years ago, at my last HighEdWeb, I spent a lot of time in the hallway track networking. The content for me as a developer just didn’t seem all that deep to be honest and the value I found was in the networking I was doing along with the other intangibles that happened outside of the core sessions.

This year was a bit different. For the first time in years (and literally dozens of conferences) I spent more time in sessions than I did networking and was really able to walk away with a few solid takeaways. The most important of these was a talk by my friend Mitch Cantor on local WordPress development environments using Docker. As Primary Vagrant has matured and needs to find a direction for the next iteration Mitch (who’s talk also won “best in track” for the conference). Watching his talk has given me the spark I need to move forward which I’ve been searching for months. That is a very good thing.

As for the rest of the talks, I took bits and pieces from each but it was the Keynote by Felicia Day that really stuck out. Historically I typically skip keynotes as so many become either sales pitches or a bunch of feel-good crap that couldn’t apply less to the audience if it tried. Felicia’s talk however seemed to really hit home for so much of the audience, me included, both in its sincerity as well as it’s connection to the work many of us do as professional “geeks.” It struck enough of a nerve with me in fact that I was one of the first in line for the meet-n-greet afterwards which I can honestly say I’ve never done anywhere before. It was that good.

As much as I saw however I can’t finish without talking about the one area I was able to give back, in content itself. Originally I had pitched three talks and had one picked to present, which is an honor in itself. A few weeks before the conference another track chair then reached out with an invite to present a second time on a second topic. This was pretty awesome as the practice is normally forbidden at the conference and, although I could have done better on the talks (I will win best-of-track one of these years) I think they went pretty good in general and I got to talk about both development workflow using WP-CLI as well as practical encryption that will hopefully be useful to many of the users who attended.

The Community

Beyond content is, of course, the thing that originally brought me on to the HighEdWeb bandwagon in the first place, the people. From the moment I stepped off the plane Saturday morning until now (I’m writing this from the lounge at my hotel while I wait for my ride to the airport) I’ve been around people that made the week feel more like a family reunion than a work event. From evenings at dinner with friends to after-parties, lunches and even exploring downtown Hartford, CT (one of the oldest towns in the USA I’m told) a friend to hang out with is always around and always looking to hang out. As a remote employee this, I must admit, is something that I often miss. The fact that these people are more like family (there were even quite a few tears from some this morning at breakfast as folks said their goodbyes until next year) makes it all that much special. There’s nothing like getting hugs from people you haven’t seen in four years and are genuinely glad you’re here again. I’ve never been to another event with that level of community.

TL;DR

HighEdWeb, which frankly I hadn’t considered on my list of “must go” conferences until after I got here this year, is one of the more interesting and incredible conferences out there for folks in technology, particularly, in higher education. From top-notch content to a community that goes well beyond professional acquaintances it is an event with no equal and for the first time in a while I can say “I can’t wait until next year” about a work conference.

]]>9273My Tools of the Trade for 2017http://tracking.feedpress.it/link/18506/8159744
https://www.chriswiegman.com/2017/05/tools-trade-2017/#commentsTue, 23 May 2017 20:16:59 +0000https://www.chriswiegman.com/?p=9185

While I don’t make it a habit to do too many post series my “Tools of the trade” post has become something of an annual tradition of mine for a good number of years (2016, 2015, 2014, 2013, 2012). This year I realize it’s changed just a little bit in that, as something of a continuation of last year, […]

While I don’t make it a habit to do too many post series my “Tools of the trade” post has become something of an annual tradition of mine for a good number of years (2016, 2015, 2014, 2013, 2012).

This year I realize it’s changed just a little bit in that, as something of a continuation of last year, I’ve focused on making the most of the tools I have rather than adding too many more to the mix. I’ve narrowed it down so much in fact that rather than just some of my primary tools I think it’ll just be easier to break down what I have across all my devices:

My Computer

First, that computer. I upgraded my 2012 rMBP last fall to a new 15″ MacBook Pro with the Touch Bar and all the other bells and whistles. In fact the only thing I didn’t max out was the hard drive as the 512GB I bought is simply big enough for literally all the digital crap I’ve accumulated over the years. I also have a 2015 15″ MacBook Pro for my day job that I pretty much only use when I’m on campus as I simply don’t have any realistic need for two computers and, as I work from home, I find trying to switch between multiple computers more trouble than it’s worth.

While I’ve often thought of giving Windows or Linux another try as my daily driver I have to admit that the Mac is just too much a part of my workflow to want to change it. That said, I love the new MacBook Pro but it isn’t perfect. If, by the time I next upgrade, they haven’t made some big leaps in RAM I’ll probably look at something different again but for now the new keyboard and USB-C make up for most of the shortcomings. Yes, I did have to buy a few dongles at first but that experience was pretty much forgettable and now the ability to swap ports for nearly everything is incredible.

As for software, there really isn’t too much I need to do my job these days. Here’s a screenshot of nearly every application I have on this machine (the only thing it’s missing is command line apps I’ll talk about in a bit).

All the apps I have installed on my daily computer

Let’s start from the top (and leave out most of the default apps unless I use them):

1Password: My password manager of choice. I use it for all my passwords, 2-factor, etc. I’ve looked at LastPass and others but the ease of use of 1Password combined with the safety of still having my 2-factor codes when I don’t have my phone is just too hard to pass up. These days I also sync most of my passwords with my wife and the new 1Password family plans have made that so incredibly easy.

Alfred: I use this for all kinds of tasks from running basic terminal commands to launching applications (I actually don’t keep any applications in the Mac Dock and launch them all through Alfred). As handy as it is for getting too things though the truth is Spotlight can handle most of it these days. The reason I stick with Alfred over just making do with Spotlight is the clipboard history feature which I simply can’t find another app that can touch.

CleanMyMac 3: This is a handy tool to help keep the Mac clean. I use it to securely erase trash, completely uninstall apps and perform general cleanup and maintenance. I do believe it is actually one of the first apps I bought when I started with Mac back in 2008 and I continue to use it regularly 9 years later. It is definitely worth the modest price.

Cloak: Cloak is my personal VPN of choice. It isn’t the cheapest (I use the $99/year unlimited plan) but it takes the thought out of remembering to activate a VPN every time I switch connections. If you’re all in with Apple like I am I would highly recommend it to help keep your connection at least a little bit safer.

ForkLift: I’ve tried (and still own current licenses) numerous file transfer clients over the years but none of them can hold a candle to ForkLift. On large transfers it has proven to be many times faster than Transmit and pretty much everything else out there while also being rock solid not just in application stability itself but in resuming an operation after my wi-fi or other connection hiccups on me.

GPG Keychain: This is part of the GPG Suite for Mac and is a great tool for handling email and other encryption across my system. It’s only downfall… not many others use it to the point where I’ve thought of removing it but with GitHub now supporting commit signing and other initiatives I’m hoping maybe this will change in the future. (if I ever email you you can see my PGP signature in the “weird” attachment that goes on all my outgoing emails).

iTunes: I’m listing this as it’s both my podcast and music app of choice. I share a family subscription to Apple Music with my wife and it has been one of the most valuable services I’ve ever subscribed to. I use it everywhere, on all my devices and typically have something playing for about 8-10 hours a day. I’ve tried the “other services” but the combination of discovery and apps with Apple Music just make it the best for me.

Keynote: I’ve been moving many of my presentation slides to Reveal.js but for the rest there’s Keynote. It’s easy, reliable and plenty capable for my needs.

Mail: My work is on Outlook but I use Mac’s mail for everything anyway. It’s so much faster and does all I need it to do.

Microsoft Office: It’s installed, but only for work. It’s so bloated these days that I only open it when I absolutely have to and have taken to doing most of my documentation for work projects directly in GitLab using Markdown.

Navicat for MySQL: There are a lot of newer MySQL clients but this one still is king. I use it to drag and drop whole databases between servers and, thanks to it’s PHP connection methods, I don’t have to worry about getting access to anything but FTP when I work with a freelance or other client. I seriously don’t know how I could work without it.

Notes: I used to use Evernote but notes sync has been more reliable and it’s just the right mix of simplicity and features to compliment my workflow perfectly.

Numbers and Pages: If I have to work in a spreadsheet or word processor it’s usually iWork. They just work for me.

Paw: A lot of code I write is either consuming or creating APIs. PAW makes testing and debugging these easy. It’s like Postman but so much more powerful.

PhpStorm: This has replaced a LOT of apps for me from Atom to others. I use it as both my text editor and have really learned to make use of the IDE features over the last few years. My Primary Vagrant project interacts well with it allowing for complete debugging without dealing with dozens of plugins and other hacks to just make it all work.

Pulse Secure: My work VPN

Quicken 2017: While not the most reliable app I’ve ever had I can still tell you every penny I’ve spent since the year 2000 thanks to it’s tracking. We use it for expense tracking, planning and budgeting and it does all of them well enough. The biggest thing is that its sync with its mobile app actually works so both my wife and I can enter receipts on the go.

Reminders: I don’t think there’s a todo list/GTD app I haven’t tried (and probably not one I haven’t bought either). Three things have brought me back to Reminders… easy sharing with my wife, Siri task entry and the price. It does task tracking well even over the 30 or so projects I have in it and it’s never lost anything on me nor have I missed a notification due to forgetting to open the app.

Safari: still my browser of choice. It’s a good compromise between features and utility for me. I love it’s reading list feature and the flawless sync between devices. While I which it supported more extensions and kept a little more current with standards I can truthfully say that it has never prevented me from getting the information I need (and the reading list makes keeping track of articles I want to read so much easier than anything else).

Skype for Business: This is a rather unfortunate requirement of my day job.

Slack: My team at work uses this for pretty much everything (it’s the rest of our organization that uses Skype) and I keep involved in a few other slack teams to stay connected throughout the day.

SourceTree: I do most of my GIT work either in PhpStorm or on the command line but for heavy lifting SourceTree makes visualizing complex repositories or handling complex operations just simply easier. I also tend to use it as something of an application manager as it’s repository screen tells me instantly if one of my local repos has fallen behind.

Time Machine: I don’t know how much life it has left in it but I still have an Apple Time Capsule and back up my machine with it. It’s saved my but plenty of times for minor issues.

Tweetbot: I do less and less social media these days but Twitter is still valuable to me. I hate the native Twitter site so Tweetbot both makes it usable and allows me to sync my position across all my devices so I never have to read my timeline twice nor skip anything I don’t want to.

VirtualBox: I do all my dev work in Vagrant boxes and Virtualbox makes a solid VM host for the price.

Zoom.us: For my team at work as well as any other video conferencing needs I have Zoom.us is pretty awesome. It’s faster and more reliable than Hangouts and the stand-alone client is more appealing to me than many other browser based solutions.

A few apps not listed:

Vagrant: I do all my work on virtual machines wrapped in Vagrant. Docker might be shinier these days by Vagrant has proven to be reliable for all I need to do with it.

oh_my_zsh: I use the built in Mac Terminal app for command line stuff and zsh with .oh_my_zsh as my shell environment. I used to play around with lots of custom dotfiles and other nonsense but haven’t looked back since I found oh_my_zsh. It just makes it all easier.

Homebrew: For the remaining few apps (I only install node and composer with it these days) Homebrew does a great job of making managing packages easy.

iCloud Drive: It works and works well for my needs without the battery drain of another application like Google Drive or Dropbox.

My Mobile

After my computer it’s my phone that probably gets the most use. I have a white, 32GB iPhone 7+ that I’ll upgrade when the next phones are released simply because 32GB is pushing the space limit a little too far. While I’ve looked at Android and been very impressed with Google Fi I can’t see myself leaving iPhone any time soon as it’s just so easy. The integration between all my devices is, to me, the single most underrated feature of the Apple Ecosystem. From phone calls to text messages, web browsing and everything else I can put down any of my devices and pick up exactly where I left off on another. Until other ecosystems can match this with such ease it will take a lot to pull me away from Apple.

That said, I really don’t actually do a whole lot on my phone. I use it primarily to communicate and, when needed, to consume information and as a result I really don’t need a whole lot of apps to do what I need to do. Here’s what I have:

For the most part it’s all stock apps (the only app not visible is the Watch app on the 2nd page of the “Apps” folder). Until I got the Apple Watch I actually had 4 less apps as the Fitbit watch did all of the health stuff I needed it to. Now I have a few others to get me extra information and while I fully admit the information is much better than what Fitbit offered I often feel like it might be a bit of overkill. The rest of the apps on here are geared either towards communication with people I care about or some browsing. Reeder is one of my favorites to keep up with RSS feeds when I’m not home.

I also have an iPad Pro (9.7″ with the Apple Keyboard cover) that is configured in a similar way as the iPhone but with even fewer apps as I use it almost entirely to browse the web or for Reeder when I’m at home and not in my office. While it is handy it will probably be my last iPad as I simply don’t need it around the house.

Finally, I have a white 42mm Series 2 Apple Watch I bought last month to replace a Fitbit Charge that was simply falling apart. This was a surprise find for me as I really didn’t think I would care for it but it is now one of my favorite devices of all time. While home my phone pretty much stays on its dock and with the watch I can handle phone calls, text messages, Slack, weather, sports scores and even our Phillips Hue lights. While none of these functions are vital, combined with the excellent health tracking I’ve found it far more valuable than my Fitbit ever was and it will make moving on from iPhone a lot more difficult for me in the future.

That’s it

Over the last couple of years my toolbox has evolved from a mishmash of apps to a powerful toolkit that works with my devices to, hopefully, make me as productive as I can be without the stress of endless notifications and other distractions. I’ve gone from finding a new tool for each task to simply learning how to apply the tools I already have to meet further challenges and it has, quite simply, made me better at what I do.

After nearly 9 months and a lot of hours and frustration I’ve finally released Primary Vagrant 4.0, the latest iteration of my Vagrant configuration for WordPress development. It contains a LOT of changes… It now runs PHP 7.1 It now has a site generator to make creation and management of sites easier Landrush is now […]

After nearly 9 months and a lot of hours and frustration I’ve finally released Primary Vagrant 4.0, the latest iteration of my Vagrant configuration for WordPress development. It contains a LOT of changes…

It now runs PHP 7.1

It now has a site generator to make creation and management of sites easier

Landrush is now used to provide a more dynamic domain experience without the need of editing your hosts file

Much of the structure has been cleaned up and optimized for easier editing and, hopefully, to spend less time managing your configuration and more developing your work.

Frankly, there are so many changes over the last few months that it really is a whole new project with the only downside being you’ll need to destroy any existing environment before upgrading.

The future of Primary Vagrant

Now that 4.0 is complete I can say that I’m mostly happy with the feature set however that doesn’t mean there won’t be changes in the future. For example, up to this point Primary Vagrant has relied on Puppet 3.x for configuration however newer versions of Ubuntu after 16.04 have upgraded to Puppet 4.0 by default as have some of the modules Primary Vagrant relies on. Puppet 3 code will not easily run on Puppet 4. This leaves me with the need to either find new modules for much of the functionality, rewrite the modules for Puppet 4 or move to another provisioning solution. Frankly I don’t know how I want to approach this yet but it does mean that 5.0, when it comes out, will make some major changes as well.

I still need your help

If you use Primary Vagrant please consider helping out with the code or the wiki. As the project grows in complexity I can use all the help I can get in making it even better.

Keeping up with writing has been a point of contention for me for quite some time. While I’ve managed to start nearly 100 posts or more I just never seem to publish anything. After a lot of reflection over the last few months I can say, without a doubt, that there are precisely 3 reasons […]

Keeping up with writing has been a point of contention for me for quite some time. While I’ve managed to start nearly 100 posts or more I just never seem to publish anything. After a lot of reflection over the last few months I can say, without a doubt, that there are precisely 3 reasons I haven’t been writing like I want to.

I don’t make the time for writing.This is pretty simple, ideas are great but until I actually follow them up with words they mean nothing. It is up to me and me alone to make the time for writing and if it is a real priority for me I need to start doing so.

I don’t make the time for writing.Yep, this one again. Picking up the computer and updating something or posting on Facebook is not writing a blog or anything else of note. If I’m going to get back to writing regularly it is time to start using this computer as a tool and not just the project itself.

I don’t make the time for writing.Bet you never saw that coming at this point, right?

Here’s the thing. I simply haven’t made the time over the last two or three years to write like I would like to. While I could make 1,000 excuses as to who the real reason is quite simple. I don’t make the time to take my ideas and put them into words. This is something I need to do much better at.

Today I have the honor of returning to WordCamp London, which I haven’t attended since 2013, as a speaker. I’ll be giving a talk this afternoon on practical encryption that covers the basics of what encryption is, what it does and how it can be used in some of our every day communications. If this is […]

Today I have the honor of returning to WordCamp London, which I haven’t attended since 2013, as a speaker. I’ll be giving a talk this afternoon on practical encryption that covers the basics of what encryption is, what it does and how it can be used in some of our every day communications. If this is a topic that interests you check out the slides below. Should the talk be recorded I’ll add the video here when it is available.

I also went to send a special thank you to Eric Mann and Paul Gilzow who both reviewed my slides with some very helpful feedback this week.

]]>9117Becoming a Professional Developer Is More Than The Latest Libraryhttp://tracking.feedpress.it/link/18506/8159748
https://www.chriswiegman.com/2017/01/becoming-professional-developer-latest-library/#commentsSun, 01 Jan 2017 23:06:48 +0000https://www.chriswiegman.com/?p=9041

As a teacher and speaker one of the questions I’m often asked is which language/technique/etc should an aspiring developer learn first to get a job as fast as possible. Most of these folks are ambitious and capable but, in following many over the course of the years, I find few ever become great at what they do […]

As a teacher and speaker one of the questions I’m often asked is which language/technique/etc should an aspiring developer learn first to get a job as fast as possible. Most of these folks are ambitious and capable but, in following many over the course of the years, I find few ever become great at what they do simply because they aspire to be a “super generalist,” that is, a developer who can write any code for any project on any timetable without question. What they aspire to is not to be a successful developer but to imitate, often in only months to a year or two, the careers of mentors and teachers who while having been in the industry for many more years are not up to the standards the student is expecting themselves.

It isn’t their fault

The idea of the generalist seems to be a badge of honor in an industry like tech where a list of required skills and knowledge for an entry level job can read as if the single position is for an entire team rather than a single, often underpaid, developer. In the 10 years since I quit flying I’ve seen developers who claim to specialize in one technology one day and another the next all while building projects that never seem to have any goal other than the initial launch and, as long as it “works” any slop code put together is just fine.

Yes, tech is an industry that requires constant learning and refinement of our skill sets both to push the boundaries of our creations as well as simply to keep pace in an ever evolving landscape. This evolution requires both an open mind and the ability to learn and adapt to a variety of languages, libraries, tools and techniques over the course of a career that, in the end, can often be characterized as “generalist” when viewed through the lens of a single point in time. The reality though is that these are skills that do take time to do right. To really learn a library or a complex language is something that takes considerable time and investment to master even if it might be possible to just muddle through with the help of Google and a few questions on Stack Overflow. While the projects might be technically completed the amount of technical debt incurred along with the risks of security and scalability, among others, of code that was scratched together isn’t, in my humble opinion, the result of a professional but that of an opportunist. As a result I fear, in the present environment, that it is the latter most pad developers aspire to as opposed to the former. This does not help our craft.

While we must stay agile we must also, as professionals, take the time to specialize and master our craft. This means trying new things while not just tolerating but embracing and, above all, improving in foundational skills in which a true professional can demonstrate his or her expertise as something far beyond that which can be learned in a day or two on Google. We must “go deep” with our technology and focus on the core using that as a basis for building our knowledge while still staying a true professional until such a time as the previous technology is rendered obsolete or, if done right, until such a time where we can demonstrate true expertise in a new area.

The answer is more nuanced

So back to the original question: when asked what someone should learn first my answer is, and will be, the fundamentals of learning, communication and code. It’s amazing how many times I’ve run across developers that can use a jQuery selector but not a proper conditional. They can set a variable but not in the place where they need it resulting in inefficient code and other problems. They might be able to make a design look great but, put it under a little bit of load, and it will quickly bring the whole site or product to the ground. This is not the mark of a professional developer.

On the other end, becoming a professional developer does not require a university degree in computer science either. Of course a degree will never hurt but it both possible and common for a true professional to earn his or her position outside of the classroom. That said, learning on your own isn’t an excuse for not knowing concepts such as polymorphism, recursion, inheritance or any of the other basic concepts of the discipline.

3 things every professional developer should learn

After answering the question of where to start there are 3 things I tell all aspiring developers. These are three skills that will not just allow a developer to get their first job but will help them continue to improve their craft to that of a professional, senior level developer.

How to study and learn individuallyWhile this might sound self-evident all too many people are simply not capable of learning on their own as a result they rarely grow beyond their first position. This doesn’t mean one has to be taking formal courses or anything like that but, more often than not, simply manifests itself as simple interest in what they do and ambition to do more with it. Picking up side project outside of one’s comfort zone is a great way to learn and improve over time, but in new skills and even in tricks and techniques for one’s core competencies.

How to communicate effectivelyIf you can’t communicate what you’re doing and what you need help with you cannot grow as a developer. From simple code commits to documentation to project issues with other stakeholders many developers never become great simply because they cannot communicate with others around them.

The fundamentals of modern codeOnce someone has the interest and ambition to learn and knows how to ask for and receive help a knowledge of the fundamentals of code will be better than any one specific language. Whether you work in Swift or JavaScript knowing how code works and is structured will cross languages, frameworks and projects helping make sure you the code you right is that of a true professional rather than a capable amateur.

In conclusion: the case for specialization

Of course learning to communicate well and knowing all the fundamentals still doesn’t translate to a job. If it did nearly every Computer Science student in the world would be a professional programmer by default and, as we all hear too many times, many can’t handle even their first job. While there are a lot of reasons for this it isn’t just a problem that affects graduates either but something I see in many hobbies developers as well. Call it wanderlust, the love of “shiny and new” or something else but the inability of a developer to focus can be as much a hinderance as a developer who doesn’t right code. Know the buzzwords isn’t enough, anyone who is around the industry for a while knows the trends and the lingo. Instead getting good at part of what you do, namely a specialization you find interesting, is what will often lead to bigger and better jobs as well as opportunities such as speaking and others. Given that it’s fine to be a “backend developer” or an “Angular developer” and really sell yourself in your specialization. Doing so will lead you past the open position to being sought after for jobs that you won’t find on any social media or job posting but are, instead, often recruited for based on your expertise and experience as a true professional in what you do.

For as much bad as I’ve seen in 2016 I can say, at least for me, it wound up finishing on a really positive note. I guess I can say, at least with the factors I can control, that I feel like 2017 has more promise that any year in recent memory. We’re settling in, […]

For as much bad as I’ve seen in 2016 I can say, at least for me, it wound up finishing on a really positive note. I guess I can say, at least with the factors I can control, that I feel like 2017 has more promise that any year in recent memory. We’re settling in, work is wonderful and I feel like I finally have some direction and purpose on a number of fronts. That is a wonderful feel.

2016 in Review

As much as I talk about having promise for next year I have to say that I had been thinking the same thing for 2016 when it started and I wound up spending most of it absolutely miserable. Some of the highlights of a year where my main goal was getting healthier:

Of course though it wasn’t all bad, I did have some wins this year as well:

I managed to raise my step goal from 5,000 steps (a plateau I have been at for almost 18 months) to 9,000 steps as of tomorrow.

In September I took a new job that I really believe I can stay at for years to come and, more importantly, where I can make a difference as part of an incredibly talented team

Last week we found a new home for Koa, the puppy, and already our cats and Kana are like entirely new animals

In September we met our goal of going to one car and in November we paid that one car off over 3 years ahead of schedule

2017 Back to Basics

So all in all I shouldn’t complain as it appears that the worst is behind us and we really do have a lot to look forward to in 2017. For my part I hope to make this year about my family and my health. The doctor has been telling me for a few years that I drink to much so I’ll be attacking that head on with help from friends and checking out local support groups like AA. In addition, with the puppy gone it should be much easier for Joy and I to travel on the weekends and get out to the beach more with Kana, a favorite activity for all. As long as I keep the mantras of health and family I think we’ll be in good shape. Some of my more specific goals:

I’ve bet my best friend, Michele, $500 that I can stop drinking from Jan 1 to Mar 24. I did this in November and it worked great so I’m hoping the longer break will give me more time to find activities and groups that don’t involve drinking, which seems to be all we really know how to do.

I want to finish 24 books

I want, again, to finish 50 posts on this site and simplify the design and functionality a bit

I want to get my step goal to 10,000 steps and keep it there

I want to get my weight under 180 lbs (a loss of 15 from where I’m at today)

I want to travel somewhere, even if just for a weekend, with just Joy and without a wedding or WordCamp involved

I will drop all my formal side projects to focus on not just learning all I can about my new job but to be able to give it 100% as there is so much potential there to do some really cool things

I want to formally contribute code to any major versions of WordPress released

I want to improve my programming chops on something that doesn’t involve WordPress/php

I’d like to speak at a conference that doesn’t involve WordPress

Wow, that seems like a lot as I finish typing but I can do this. If one thing 2016 taught me it has been to trust myself, my family and my friends so I know I’ll have some serious support and won’t be doing everything alone. How can I fail like that?

For the most part the idea that you can never have too much security rings true. A good firewall, smart account management, following coding standards and best practices… These are all good things but, as with anything else you can have too much of a good thing. In this case I’m talking about proper escaping of […]

For the most part the idea that you can never have too much security rings true. A good firewall, smart account management, following coding standards and best practices… These are all good things but, as with anything else you can have too much of a good thing.

In this case I’m talking about proper escaping of content that is to be displayed in a WordPress site. This is as simple as saying every single time you echo data to a template or elsewhere on a WordPress site you need to escape it. This is so easy to do in WordPress with a number of functions available to handle nearly any situation. In fact it’s so easy to do that it isn’t uncommon in a plugin or theme made by a good developer to see the same data escaped two, three or even more times before it’s finally echoed. This is a problem.

Escaping Costs Resources

While escaping data is a rather cheap function as far as programming goes doing it over and over isn’t free. Each time you call an escaping function there is some cost as PHP must process that function searching for the characters to escape. On a small site this really isn’t noticeable but at scale all these calls can add up and may start to dominate profiles if not handled correctly. There simply isn’t a need to do this more than once if done right.

Escaping Early Isn’t Really Escaping At All

More often than not what I see (and I’ve been guilty of this myself) is developers escaping the return value of every function as well as that same data within the function when called from elsewhere. While this may seem legitimate what often happens, particularly with common hooks such as the_content and others, is your hook quite possibly isn’t the last time the data will be modified. As soon as another hook you don’t control modifies your escaped data your escaping function becomes worthless. In other words, escaping only works if done after the data is completely done with processing, this point is difficult, at best, to determine before you echo the data itself.

Escaping Late Is All It Needs

Instead of escaping early you need to make sure that every single call you make is escaped when displayed. If the function you’re calling is filterable you simply cannot trust its output. For example: