Many years ago, a woman came up to me at a conference and said something to the effect of:
I really appreciate what you do; but, I think you're a terrible person.
At the time, I was amused by this sentiment. I've been writing on this blog for about 15-years now; and, in the early days, I thought it was cool to be "edgy". And so, I created code samples that referenced women's physical characteristics and hot-or-not style rating systems and I included images of very questionable taste in my demos.
I was young; and, I was wildly in love with programming; and, I was just having fun with it all. But, the truth is, I was making shitty choices.
My intent was to get a rise out of people. But, I never sought to offend them. And, when I did see people get offended, I was fascinated by it. In reality, I'm a shy, introverted person who's in bed by 10pm and spends his free time writing poems about ColdFusion and jQuery.
The problem was, I couldn't create separation in my mind between the person I thought I was and the public persona I was creating. So, when people called me out as being gross or sexist or diminishing, I kept thinking, "But, if you only met me, you'd see!"
Really, what I couldn't understand at the time was just how privileged my life had been. Coming from an upper-class suburban family, I'd never had to give a moment's thought to how my race or my gender or my sexuality affected my path through this world. And so, that was the lens though which I saw - or, more appropriately, didn't see - people's reactions.
Over time, being edgy lost its appeal. And, I found that writing about code was sufficiently thrilling on its own merits. And so, my life went on and I didn't think much about the early days on this blog.
Then, last weekend, I decided to convert all of my articles over to Markdown. To do this, I had to wade through a lot of inconsistent formatting and figure out how to normalize everything into a finite set of Markdown artifacts. In this process, I was suddenly brought face-to-face with my old posts.
And, seeing them again after all these years, it made me feel sick to my stomach.
Now, at almost 40, I look back at some of the things I wrote and I feel disgusted. And heart-broken. And ashamed.
And so, this past week, I finally did something that I should have done years ago: I searched through my old articles and tried to find and remove the ones that I thought could be offensive. In the end, I removed about 250 articles from this site.
I am sorry it has taken me this long.
I am sorry to the people that I've offended.
And, I am sorry to people who weren't offended, but who may have seen my writing as re-enforcement that such writing exhibited "acceptable" behavior. As a man who participates in public dialog, I have a responsibility to lead by example; and, in that regard, I have been a failure.
I know that I don't have the right words here. And I'm sure that I've failed to articulate the shame that I feel. But, please know, that as a man, I want to and can be better than I have been. And, I hope that this residue of regret helps guide me on my path forward.
Special Thanks To Jack Welde
Many years ago, Jack Welde sat me down in a bar and said, "You've had your fun; but, it's time to grow up." I appreciate his guidance. I know it's not an easy thing to call people out on their B.S.; and, I am sure it took me a while to truly take his statement to heart; but, I am thankful for his help in getting me on the right track.
Special Thanks To Kyle Simpson
This was the first time I had personally seen anyone do this in the programming community and I found it both humbling and inspirational. His talk made me want to be a better person. Kyle has been a shining example of everything you can do right in a community.
There was a reason I couldn't share your blog with a lot of people, and now you've done what people do, and earned our respect. Keep up the good work, and keep the introspection going. I only hope you'll bring back the old posts but modified, so the young CFers can continue to benefit.
- what people rarely do *
I have mixed emotions. I love your code you have shown. I remember your first speeches at meetings. I think you were just fine but like a lot of us, we had a lot of fear. However, programmers without fear tended to bother me.
I always did wish you would stop using some language but figured that was something you would change as you grew. Otherwise, I would NOT worry.
You are putting your personal opinions out there and there will ALWAYS be plenty of people to criticize you. Don't take that personal. Just remember the more we know, the more we know that we don't know. I don't trust a programmer who says and acts like they know everything. No one knows everything. We all have our own opinions.
I want to publically say, THANK YOU! I have been a CF programmer for over a decade, and while I really appreciate your blog's simple solutions, a lot of them have been hard for me to stomach. As a female in the CS world, I have been at best annoyed by the "man's" coding world and the sexist/harassment comments that somehow became a part of it. Often when I've come across yet another post of yours that turned women into objects (in the programming world - quite literally), I've commented about my disapproval to my co-worker. He has assured me you've grown up and don't make those kinds of posts anymore. He sent me the link to this article today. Keep up the good work! I believe in change and hope to continue to use your blog without having to roll my eyes and wish I was ready something else.
Someone had to point this out to me actually. I didn't see it myself at first.
I was recently watching a VHS tapes of my much younger twenty-something self and was horrified...at the crass, tasteless jokes I made...at my behavior in general. I guess I thought I was cool. I was deeply ashamed for my younger self.
I think it's natural that we grow, evolve, learn...and hopefully become better versions of ourselves along the way. I think they call it wisdom, life experience, etc.
You rock Ben! And we appreciate you and your journey
Life, much like coding is a never ending learning process.
Red. Green. Refactor.
If you aren't hitting the red you are doing something wrong. But you have to remember to refactor :)
What you are doing right now is amazingly hard. Most people never face their flaws much less publicly admit them and take accountability for them. We all make bad choices. Few of us learn from them.
Before I met you in 2010, I had this image of you from your blog. I knew you worked out and were buff like a beast. Your company name "kinky solutions" and your code examples using women's butts, boobs, face etc.. was tasteless. I assumed you were a back slapping, hard drinking, womanizing jock bro who was crude, rude and would punch the first person who looked at you wrong.
When I met you in person, it was absolutely jarring different you were. You were so shy, kind, timid and sweet. When "the boys" and I would go out late, you went to bed. For such a muscular dude, you seemed very afraid of a lot of things. But most of all you are just very, very likable. I mean painfully likable. Like a teddy bear.
It is heart warming to see you distance yourself from the self-image you felt you should be and embrace the kindly, thoughtful person you truly are.
Thank you for acknowledging this sensitive issue. I've read your posts since you first started and watched you grow as a developer. In the early years I brushed off the crassness as you trying to find your voice to a much smaller audience. But in the last few years when I'm searching for something and come across one of these from the old days, it makes me cringe.
I applaud you for not only removing the posts, but addressing it in a truly thoughtful apology. Rock on!!
As to your comments about StraightWhite Male Privilege, that is a phrase so loaded with baggage. Sci-Fi author John Scalzi put it in setting I could understand Roleplaying games:
Well worth the read.
As a fellow introvert who often is in bed by 10, I also tend to be crass and out there. It is a wall I put up so people won't see the real me, which is most likely crying in the corner. I've also grown up quite a lot over the years and have learned what I say or do matters. I don't say anything about someone that I wouldn't be able to say to them while looking them in the eye. I know I've said things in the past that hurt others.
I've always adored you and was so proud when a junior developer had your blog up for Angular JS and I said I knew you. Not just knew who you were, but really knew you. He was impressed.
This is so interesting to read. I actually never saw this side of you, so I must have missed those particular posts, or it was so expected I thought nothing of it. I always had great respect for you... but even more so now.
But it is interesting how times have changed.
This reminds me of back in the day when I was co-authoring with Raymond Camden and Arman Danesh. I went on a bit of a book tour and ended up speaking at a users group in Ohio. It was one of the worst experiences of my life. New functionality had just been released and I had been in discussions with Ben Forta on the details in the background. I was adding commentary to the news version of Mastering ColdFusion. I gave a sneak peek to the users group. They dismissed me and treated me like I knew nothing. It had me doubting myself I was interrupted by the host, challenged, dismissed. Granted I was young, but had a man been presenting it would have been a different outcome. It became one of the greatest learning experiences of my life because it taught me to find my voice.
Now I look at current day. The tide is turning on the gender divide In STEM. I do not experience dismissals or challenges in a way that I can attribute to gender in my current place of work. Our CIO, CISO, & SVP of AppDev are all women. The landscape is changing. It's a different world. This is important for companies, countries, and the world to have a balanced representation to take advantage of the qualities that we all bring to the table. It will makes us all better.
Thank you to making it better!
And just to be clear, some of my greatest experiences back then were also due to some amazing men that I worked with: Ben Forta, Raymond Camden, Arman Danesh to name a few
Ben. I am actually quite shocked by this. But, maybe this is a reflection more about who I am. I cannot ever remember you writing anything offensive. Maybe, I just never came across such articles.
In fact, you are probably one of the politest, kindest and most aware people, I know. You are always trying to help others, so maybe because of this, I have glossed over anything offensive that you have written. I must say that I am now quite curious as to what you deem "offensive". I know you used to use women's names a lot in your object key references, so maybe this is part of what you mean? And I do remember there may have been some sexist connotations, in this regard? But, I must say, my memory isn't as sharp as it used to be, so I am probably grasping at straws here.
I've always said that the ColdFusion community is filled with the kindest and most welcoming people. And, your patience, compassion, and understanding is just more evidence to that fact.
I don't know -- I just love all y'all :D And I think you for your support. And, I hope to continue adding value and pushing the community forward!
... and now we know what I have to up on my headstone :D :D :D
And, hopefully, one day I'll have photos with everyone here :D
I'd like to say that this is a welcome relief. I've been in this community as long or longer than you have and your posts are always a point of reference for myself on difficult or complex problems. However, there were many a post I find cringy and just couldn't share with others because of the tacit approval of the content that sharing would lend. I'm sad for the loss of some of the earlier stuff (like using CFHTTP to convert CSV to a query, literally just today), but glad you made the difficult choices to cull stuff that's problematic, acknowledge your part as a role model in the community, and the reality of privilege not only in the world at large, but especially in CS.
This is a great post dude.
I've been reading your blog since the KS days and always took your examples with a pinch of salt; partially because I think the 'real you' that you allude to has always been evident in the tone of the posts themselves, but also because I too was young, male, privileged and utterly unable to appreciate how they may be damaging or offensive. I could see they were light-hearted, surely everyone could, right? The luxury of being un-phased by these things is indicative of privilege too of course.
You've grown, as we all do, and I think it's great you decided to go back and take down some of the stuff you're not proud of - but more than that I applaud you for taking the time to write about it. You could have simply removed these articles and carried on with your day, but it takes courage to hold yourself to account publically, thoughtfully and unprompted.
40 and still coding ! It never ends.
Much appreciated. My intent is definitely to try an re-write the deactivated posts over time. Obviously, it's a non-trivial effort; so, I'll have to sprinkle it in here and there.
Thank you very much for the kind words!
Ha ha, so true. Sometimes (often times), it feels like the more I learn, the more I am just aware of how much left there is to learn.