My Boss is a Badass

Beau Lebens the Badass

As I flew to WordCamp NYC this weekend, I decided that I would re-read Year Without Pants and see what I took from the book now that I actually work at Automattic.

First thing I took away… It’s very surreal to read about your company and/or your experiences in a published book.

Second thing I took away… My team lead is a badass. Seriously, how many developers can you name that have been in a published book, know Krav Maga (or some other martial arts or self-defense), and been through survival training??

Off of the top of my head, none.

On a side note: If you’re interested in working at Automattic or interested in how distributed companies such as Automattic work, give Year Without Pants a read!

Brooklyn Skyline

WordCamp NYC 2014

This past weekend I had the opportunity to travel to WordCamp NYC.

This was a great opportunity for several reasons because I was able to meet some of my coworkers for the first time and I was able to experience NYC.

I even made some people happy by fixing their WordPress issues at the Happiness Bar.

Meeting Automatticians

Because Automattic is a distributed company, and I just started three weeks ago, WordCamp NYC was the first time I had met many of my coworkers in person.

This was a real treat as Automattic is comprised of many interesting individuals.

Spencer Berry

Spencer Berry

Take Spencer Berry for example who can YoYo like a beast without while also holding a conversation.

I also had the pleasure of meeting many other Automatticians such as:

  • Kevin Conboy
  • Alx Block
  • Erica Varlese
  • Richard Spees
  • Mel Choyce
  • Konstantin Obenland
  • JR Tashjian

Experiencing NYC

I feel like the conference worked out pretty well where there was plenty of work, social time, and exploring. Not only did I have the chance to experience some great BBQ, chicken, and local pizza…

But, I was also able to see Times Square, the Statue of Liberty, and the 9/11 memorial.

Here are some various pictures from around NYC.

My Son Had His First Fight Today…

image

Normally picking my son up from his karate classes/daycare is a fairly routine procedure. I walk in, tell him to put his shoes on, and then remind him to hurry up and put his shoes on for what seems like 5 minutes…

But today, as soon as I walked in, I was told that I had to talk to the lady in charge before I left for the day.

The first thought in my head was something along the lines of, “What the hell did my son do?”

The Meeting

After talking to the lady in charge, I was told that my son had jumped onto another kid and began wrestling him after the kid took my son’s money. The kid then punched my son in the face.

My initial reaction was to agree with the karate instructors and chastise my son for wrestling with the kid.

After all, my son could have just gone to a karate instructor and asked for him or her to mediate.

Somewhat surprisingly, I wasn’t afraid or mad that my son had been punched in the face. In fact, I fully expect that he’ll take several more blows to the face over the next few years in his karate classes.

Thinking Through The Actions

As I drove home, with Hero in the back seat, I began to work through what exactly happened and I realized that I was proud of my son for getting in a little scuffle.

I realized that had I been in the same situation, my reactions would have likely been similar.

The more I thought about the situation, the more proud I was of my son that he had stuck up for himself and wrestled the boy.

This doesn’t mean that fighting should be one’s first reaction. And Hero should have likely found another way of getting his money back.

But in the end, I’m proud to see that my son has a backbone and he’s not afraid to use it when necessary.

#21 – In order to understand recursion, one must first understand recursion.

ebinnion:

I found this amusing since recursion is definitely one of the computer science subjects that I struggled with the most in university.

I remember having to manually draw stacks on paper to keep track of values and how deep in recursion I was.

I might have to see how much it costs to print this on a poster!

Originally posted on Satz Designs:

Inorder_to_understand_recursion_one_must_first_understand_recursion_q_21_v_4

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To view a copy of this license, visit creativecommons.org/licenses/by-nc-nd/4.0/.

This poster is free for personal use. Please do not to crop off the site attribution from the poster while re-sharing, as it would help others to find more posters from my site.

In order to understand recursion, one must first understand recursion.

I was thinking about doing a quote-poster related to computer programming or coding. I searched few sites and finally ended with picking up the above quote. I had good laughs with the quote.

I found the quote at  journaldev.com. Please check out the link, If you are interested in reading more such quotes.

I hope you like the poster.

Have a good day ahead :)

View original

If You Haven’t Worked a Day in Your Life, You Probably Don’t Love Anything

ebinnion:

Ridiculous great post that serves to temper expectations that the things we love in life should be easy.

Originally posted on The Indisputable Dirt:

You’ve heard it before, the beloved aphorism from the ever-intriguing Confucius;

“Choose a job you love, and you will never have to work a day in your life.”

choose a job you love and you will never have to work a day in your life If You Havent Worked a Day in Your Life, You Probably Dont Love Anything

I’ve also heard it attributed to Albert Einstein, but the internet tells me that Confucius coined it, so we’ll go with that. Regardless, you’ve probably seen it in the form of a meme, pinned a thousand times on Pinterest, shared on Facebook, tweeted on twitter, etc…

Confucius2

 ^stuff like this^

I understand why the quote is so popular. There is something inspiring, something hopeful about it. It is just poetic enough to sound reasonable, just vague enough to withstand any serious scrutiny.

The only problem, of course, is that it is almost entirely false.

If the phrase was not so oft-quoted, if I did not think it influenced people’s decisions, I wouldn’t be writing this post. But from where I stand, this…

View original 1,026 more words

Basic Authentication in WordPress

About a month ago, I worked on a plugin to help retrieve a lawyer’s reviews from the AVVO API. One of the key aspects of connecting with the AVVO API was using basic authentication, which was a new method of connecting to an API for me.

What is Basic Authentication?

Basic authentication requires that an authorization header be sent that contains the following:

'Basic ' . base64_encode( "{$username}:{$password}" )

That is the string Basic, followed by a base 64 encoded string comprised of a username, colon, and then password.

Implementing Basic Authentication in WordPress

One of my favorite tools in WordPress is the HTTP API. Not only does it handle different server configurations and simplify the process of making API calls, but it makes setting headers as simple as passing an array of arguments.

Here is an example of how I implemented the basic authentication API call.

<?php

function make_basic_auth_request( $api_url, $username, $password ) {
    $request = wp_remote_get(
        $api_url,
        array(
            'headers' => array(
                'Authorization' => 'Basic ' . base64_encode( "{$username}:{$password}" )
            )
        )
    );

    if ( is_wp_error( $request ) ) {
        return $request;
    } else {
        return json_decode( wp_remote_retrieve_body( $request ) );
    }
}

The function above will return a WP_Error object if the API call fails or a JSON decoded string if the API call was successful.

A Real Life Example

I have published the WordPress plugin I built to get AVVO reviews on Github.

Note: This plugin only implements the reviews portion of the AVVO API, and its purpose was solely to factor out code from a custom theme. As such, it should not be looked at as complete.

Becoming an Automattic Code Wrangler : Beginning to End

Looking back, I remember how anxious I was throughout the whole process of applying, interviewing, and going through trial at Automattic… I also remember that while there are many stories of the process for Happiness Engineers, there were very few for Code Wranglers.

Because of this, I’d like to share my experience from applying to accepting the job offer.

Applying to Automattic

Applying to Automattic is a pretty straight forward process. Go to Automattic’s Work With Us page, find your job, then send an email that follows the instructions at the bottom of the page.

After that, sit back and relax. It took a little over 6 weeks to get a response back to my application.

Interviewing and Code Test

If you make it past the application stage, then the next step is interviewing, which will likely be with a Code Wrangler.

While the content of the interview was similar to other tech interviews that I’ve had, the format was different … The interview was a text chat interview.

Why, you ask?

Well, since Automattic is a completely distributed company, meaning that people work all over the world, much of the communication takes place in the form of text chat. Thus, it makes sense to conduct interviews in the same format that most communication takes place.

As a matter of fact, you can probably expect to communicate solely through text chat throughout the entire hiring process!

If you make it past the interview, then you’ll be given a small coding problem to work on and a due date … This is the code test.

Trial for Code Wranglers

If you successfully make it past the code test, then the next step is the trial.

For my trial, I built a message and error logging API called WP Logger.

The thing that stands out the most about my trial is that there weren’t any hard requirements. My trial lead, Demitrious Kelly, told me to build a logging API, provided a bit of guidance, and set me loose. From there, I iterated quickly and gave him updates throughout the week to get feedback and guidance.

Realizing that this was an audition of sorts, I made it a point to try to answer as many questions as possible by myself. This meant looking at documentation, reading core WordPress code, and more… All before asking a question.

At points, Demitrious provided suggestions that completely changed the direction the project went in. Example: Where I provided a global instantiation of the WP_Logger class that developers could use to log messages… Demitrious suggested to use the WordPress hooks API, which made the code much simpler.

In the end, my trial lasted about 4-5 weeks. After which I was told to get in touch with Matt Mullenweg, the founder of Automattic, via Skype.

The Matt Talk for Code Wranglers

The Matt Talk is the last step in the hiring process for Automattic. But, be forewarned, Matt is not an easy person to get in touch with. It took about 10 days before Matt responded to my initial Skype message.

The talk lasted about 3.5 hours, the end of which was spent on setting a range on salary. Matt welcomed me aboard and I received my offer letter the next day.

Questions?

A lot has happened over the span of about 10 weeks, so there’s a good chance that I might have missed a few interesting details. So, if there’s something you’re curious about, leave a comment below, and I’ll attempt to answer your question.