Showing posts with label Learning. Show all posts
Showing posts with label Learning. Show all posts

Wednesday, September 18, 2013

Beyond Design Patterns

Many people teach design patterns as a fundamental step to Object Oriented Programming. They are so universally seen as important that almost every single conference that I have been to has had at least one talk about them. They are quite often used as interview questions to test a candidate's OOP knowledge. However, just like inheritance, they are not needed for OOP. And just like inheritance, they are a distraction rather than a foundation. Instead of focusing on patterns, I suggest focusing on learning about abstraction and communication. Why? Let's talk it out...

Friday, August 9, 2013

Upcoming Appearances - Fall 2013

I will be speaking several times in the coming months at several conferences in the US and Europe. I hope to see you at one of these events!

Wednesday, July 24, 2013

Why We Do What We Do

For the past several months I have been struggling to figure out what I want the next step in my career to be. I am still trying to figure the details out, but I had an important revelation last night. I want to share that revelation with you.

Friday, July 12, 2013

Taking Monads to OOP PHP

Lately I've been playing around with some functional languages and concepts. I have found that some of these concepts are directly applicable in the OOP code that I've been writing. One of those concepts that I think is worth talking about is the Monad. This is something that every functional developer tries to write a tutorial on, because it's such a cool but hard to grasp concept. This post is not really going to be a Monad tutorial per se, but more of a post about bringing the general concept to OOP, and what that looks like.

Friday, March 29, 2013

Failure Is Always An Option - Programming With Anthony

A few days ago, I posted a video about how to become a better developer. There were a few interesting comments made, but one in particular from the Reddit thread ( ) peaked my interest. So I decided to do a reply. Check it out:

Wednesday, March 27, 2013

Becoming A Better Developer - Programming With Anthony

In today's episode, I talk a little bit about what it takes to become a better developer. Nobody will ever expect you to know everything, but you better know how to find it...

I'm trying out a new format with this video. Less scripted, more free-form, and with less visuals. This is not going to replace the other format (which I'm still working on), but instead compliment it from time to time. Let me know what you think in the comments below! Check it out:

Thursday, March 21, 2013

Upcoming Talks - Spring 2013

It's been a little while since I've posted anything here or on YouTube. I've been working on some interesting ideas that hopefully will be pretty decent, so it wasn't time wasted. But I figured now would be a good time to tell you about some upcoming speaking engagements that I have, and where I'll be over the next few months. So with no further adue:

April 9th: 

Where: Lehigh Valley Tech Meetup
Location: Allentown, PA, USA
What: PHPPHP - A guide to how PHP works under the hood -
Huh? I'll be giving a talk about my PHPPHP project, and using it to explain how PHP works under the hood. 
Cost: Free
Register: On Meetup.

May 20 - 24:

Where: DrupalCon Portland
Location: Portland, OR, USA
What: Development, By The Numbers
Huh? I'm going to be talking about quantitative code quality analysis tools and how to implement them into your development workflow. I'll be covering things like NPath Complexity, CRAP Indexes, Fanout and Average Hierarchy Height, and how tracking them over time can help improve the quality of your codebase.
Cost: $500 (until April 26)
Register: On The DrupalCon Site

Where: Symfony Live Portland
Location: Portland, OR, USA
What: Cryptography For The Average Developer
Huh? I'll be giving my popular Cryptography talk again at Symfony Live.
Cost: $390 (Until April 26)
Register: On The Symfony Live Site

OR You can buy a combo ticket for both conferences (Symfony Live and DrupalCon) for just $600 from either registration page!

June 6 - 9:

Where: Dutch PHP Conference
Location: Amsterdam, NL
What: Code Review for Security Workshop
Huh? I will be leading a workshop intended to teach developers how to perform code review with security in mind. I'll be introducing some vulnerabilities and some of the methods that I use to find them while performing code reviews.
Cost: € 306
Register: On

Where: Dutch PHP Conference
Location: Amsterdam, NL
What: PHP, Under The Hood
Huh? I'm going to be exploring PHP and how it works, by presenting PHPPHP, an implementation of PHP written in PHP itself.
Cost: € 306
Register: On

OR You can buy a combo ticket to the workshop and the talk for € 550.

I hope to see you at one of these events!

Wednesday, February 27, 2013

Musings And Inspirations

About three months ago I decided to start shooting videos teaching programming concepts to put on YouTube. When I first started it, I didn't think it would take off. In fact, I thought it'd be just another failed attempt at trying something new. But three months, 11 videos, nearly 700 subscribers, over 17,000 views and 1.5 man-months of viewership later, I can't really complain. I've missed a few videos over the past few weeks, and missed another one today. And I feel that you deserve to know why.

Monday, January 7, 2013

Don't Be Afraid To Be Silly

When was the last time you were silly? Well, more specifically, when was the last time that you wrote code that was downright silly? I'm not talking about writing code that's dirty, or hacking something together. I'm talking about writing code that you know before writing won't work, or is wrong or is just plain silly... I'm talking about the kind of code that you think that if you show other developers, they'll just sit back and go "Why the #@$% would you do that in the first place?"... Well, I do it quite often, and let me tell you why you should do it more as well!

Wednesday, December 26, 2012

Programming With Anthony - Responsive Web Design

This week we are joined by Responsive Design thought leader Sam Richard. He introduces us to the concept of responsive web design, tells us a little bit about its history and talks about best-practice and the future of the web! Check out the video:

Monday, December 24, 2012

The Brain Is A Muscle

The brain is a muscle, and as all muscles, it needs regular exercise to keep sharp. Or at least that's what the old adage says. This is a post that I've been meaning to write for a long time now, but never got around to (until now that is). Sparked by a twitter conversation with Mr Grumpy himself (Chris Hartjes), I decided that the time was right for it. So, here's my method for staying sharp and exercising my brain...

Wednesday, December 19, 2012

Programming With Anthony - Logic

This week's Programming With Anthony video is up! In it, we discuss the foundations of Boolean Logic and introduce some very interesting tools for analyzing logical constructs (including Truth Tables and De Morgan's Laws). So without any further ado:



Thursday, December 13, 2012

Upcoming Appearances - Winter 2012/2013

I've got a few talks coming up in the near future, so if you can make one of these events, be sure to come say hi to me!

Wednesday, December 5, 2012

Programming With Anthony - References

The third video to my Programming With Anthony series is up! In this video, I talk about variables in PHP and how they work under the hood. I explain the difference between variable references and object references, along with the semantics of each. Give it a watch!

This is the culmination of my trial at these YouTube videos. I have done a high-level one (focusing on abstract concepts), a mid-level one (focusing on the theory behind a concept) and a low-level one (focusing on implementation details). So my question to you all, is where would you like to see this go? Would you like more high-level concept videos? Or would you like more hands-on theory? Or would you like deeper dives into more technical areas?

Of course the series will continue with a mixture of the three, but I'd like your feedback on the direction of the series, so that you can get the most out of it! Leave a note in the comments with your thoughts!



And as always, thanks for watching!

Friday, November 9, 2012

I am not a programmer. And neither are you!

Last weekend I was at the True North PHP conference in Toronto, Canada. Aside from being an incredible experience (really, it was an incredible conference, huge props to Chris Hartjes (@grmpyprogrammer) and Peter Meth (@mrpmeth)), it was an inspiration. I was particularly inspired by both of the keynote speakers. They both really took really unique spins on programming and how the culture of open source inspires, enables and empowers programmers to do cool and important things. The problem with all of this is that I hate the term programmer. I think it unfairly paints a picture of what we do. Let me elaborate.

Saturday, November 3, 2012

Slides for SOLID Talk at TNPHP

This afternoon, I gave another talk at TrueNorth PHP. The talk is a version of a previous talk that I gave on Object Oriented Design. I've changed it significantly, so here are the slides.

Friday, November 2, 2012

Slides for Cryptography Presentation at TNPHP

This morning, I gave a talk at TrueNorth PHP. The talk was aimed at explaining the basics of Cryptography as needed for the average developer. It is intended to give a high level understanding of cryptography and cryptographic techniques. So, with no further adue, here's the slides:

Friday, August 10, 2012

Don't Listen To Me!

Or anyone else for that matter. Lately, I've been getting a lot of feedback about my posts that I'm suggesting things that are going to get less experienced developers into a lot of trouble. Or that people are going to use my posts as justification for bad practices. Or that people are going to cause major issues by putting experimental concepts into production. My initial response is "That's their problem."

Friday, August 3, 2012

Reinvent The Wheel!

"Don't Reinvent The Wheel" is a phrase that we hear used all the time in software development. Usually it's used in the context where a library exists to do what the user wants, but they are writing their own. While the sentiment is usually correct, I can't stand the implication of the phrase. Therefore, I can't stand it when people use that phrase without understanding what it really means. Let me explain:

Wednesday, August 1, 2012

N-Tier Architecture - An Introduction

If you've been following me for a while, you've likely heard me use the term "N-Tier Architecture" before. Today's question comes from Arno. He basically asked "What is this N-Tier Architecture thing you keep talking about?"... So, to answer his question, a N-Tier Architecture is one that uses more than one tier. Of course there's more to it than that...