The Personal website of Paul J Abernathy

Solve hard problems.  Make the world a better place through quality software.

About Me

Musings that you can skip if you are short on time.

When I was in college, when a student would meet another student there was a pretty standard checklist of about three or four questions.  "What's your name?"  "What's your major?"  "What year are you?"  If you are both freshman, you might also add  "What dorm or you in?" since all freshman at my alma mater live on a separate campus.  With these few facts in hand, it felt like you were able to classify the person, like you understood the person.  Of course we all knew it takes more than that to know a person.  But somehow it still give a frame of reference, a starting point, maybe a psychological anchoring point, some way of letting you think you can fit this person into your mind and start to know them.

Flash forward @W#$% years, and now there are job interview questions like "tell me about yourself."  I have in the past made the mistake of saying "I went to X university and Y university, I know such and such computer languages but am stronger in Java than JavaScript, etc. etc.."  There was something unsatisfying about that answer, as if I were leaving out something more important.  But it was a while before I put my finger on it.

Personal Traits

Trying to capture the essence of a person in a paragraph or two is near impossible, but here are a few things about me.
  • Thinker - I discovered in about 10th grade that I like science and liked to think about things. Not only is there a desire, but a sense of duty, to think things through, to understand, to formulate a hypothesis and test it against the evidence, to know what is true.  I think that I am generally good at thinking, particularly the kind of logical thinking used in things like math and computer programming.
  • Intellectually curious - similar to the first one; I like to learn things. For example, when I do watch TV and it is not Big Bang, it will probably be a documentary.  I tend to maintain a large stack of pending books and associated library fines.  Some recent books include The Signal and the Noise by Nate Silver and The Black Swan by Nassim Taleb.
  • Tenacious / determined - When I have a goal I want to achieve, I find it difficult to give up.  An early example is when I was in 9th grade I took up the sport of soccer and decided I wanted to be good at it, to be a star on my school's team.  Even though I was in great shape I didn't have much experience (or skill) so I would practice after school and in the summer almost every day.  I ended up becoming much better at it than I had been.  This same attitude helped me academically and professionally many times since then.
  • Hard Worker - OK, this goes with the one above it.
  • Concern for Others - This is difficult to prove.  I guess you'll have to break into my bank accout and see if I give money to charity or ask someone who has known me in the past.  I still have a ways to go on this.
  • Can work well with others - I may be an introvert, but do I have "personality conflicts" with others.  If you ask anybody who has worked with me before, I am quite confident they will tell you that I was helpful, considerate, and easy to work with.
  • Honesty - This is more than just not lying, which should be a given anyway.  It is an attitude of asking questions, asking honest questions, questions that might not be confortable.  It is holding myself to at least the same standard as others.  It is recognizing that sinking feeling that my views on some controversial matter like politics may not be perfectly logical, might be based partly on who is for or against it, that I might be motivated partly be a desire to be right when others were wrong.  In computer programming, this might show itself in how a programmer tests his code - does he write tests primarily to confirm that his code works when given softball input, or does he write tests to break his code?

Career Path
Several months back I was working on a career mission statement in Starbucks and came up with this phrase:

Make a positive difference in people's lives by solving intellectually difficult problems.

Since my skills are generally in the area of computer programming, the problems that are relevant are ones that can be solved by writing code.  So the statement can be restated as

Make a better world through quality software

To what extent I have helped make a better world through quality software is still being decided, but you can read about my goals and how well I have or have not accomplished goals to date on the Career Summary and Goals page.

Now that I have bashed the checklist approach, here are "the stats" on me (which you can also get on LinkedIn):

(Formal) Education

Bachelor's in Computer ScienceDuke University

class of 2001
minor - physics
GPA - I don't remember but wasn't impressive (a little shy of 3.0)

Masters in Computer Science - UNC Charlotte

graduated 2006 Concentration "Intelligent Communication Systems"
GPA 4.0

Technical Skills

Programming Languages

  • Java - 5 -7 years*
  • SQL - 2 -4 years* - queries, creating tables, views, etc.
  • R - 1 - 2 years - graphs, functions, R scripts, knitr
  • XML - 1 - 2 years
  • HTML - 1 - 2 years
  • C++ - 1 - 2 years
  • JavaScript - .5 years

* Years Used - This is hard to define if I used something only occasionally.  For example, I first learned some HTML in high school but don't use it very often, and I used Java and SQL regularly but not full time for many years.  So to avoid overestimation, I did my best to come up with a guestimate of how many years experience I would be able to claim, had I used the language primarily as a full time developer for the same amount of time I actually used it.  If that makes any sense.

Data Science

  • web anlaytics experience - WebTrends, some Google Analytics, web analytics concepts
  • basic data analysis
  • elementary R graphs (mostly the Base plotting system, just starting to learn ggplot2 and Lattice)
  • basic statistics
  • basic probability (including bayesian concepts)
  • some ability to think in terms of hypotheses, experiments


  • Oracle Certified Java Programmer (SE 6)
  • Oracle Database SQL Certified Expert

Programs and Frameworks

  • list of programs

I majored in computer science and lived in Blackwell dorm my freshman year.