Ben Nadel Profile Banner
Ben Nadel Profile
Ben Nadel

@BenNadel

22,078
Followers
14,418
Following
5,795
Media
45,242
Statuses

Co-founder @InVisionApp . Co-host @WorkingCodePod . Formerly CTO @epicenternyc , CTO NylonTechnology. Tech blogger. #ColdFusion #CFML #JavaScript #Design #UX .

Irvington, NY
Joined June 2008
Don't wanna be here? Send us removal request.
Pinned Tweet
@BenNadel
Ben Nadel
7 months
My #FeatureFlags book is done! 🎉🍾 After 2 months of "early access", I've finalized the cover and content. I plan on closing the early access program this week. If you want to purchase the book at a $$ discounted price $$ act now before it's too late:
Tweet media one
1
2
19
@BenNadel
Ben Nadel
8 years
“Write code that’s easy to delete, not easy to extend.” … is one of the best pieces of programming advice I’ve ever read.
30
2K
3K
@BenNadel
Ben Nadel
5 years
Nothing makes you more humble than having to maintain a single codebase for years. Only then do you really get see the full extent of your poor choices and ill-informed thinking. I feel lucky to have this learning opportunity.
52
384
2K
@BenNadel
Ben Nadel
6 years
You know how sometimes you start coding. And then you keep coding. And hours go by. And you realize you haven't even tried running the code. So you stop and load it in the browser. And, as if by a MIRACLE, it all WORKS ON THE FIRST TRY! Well, today was definitely NOT that day.
31
96
820
@BenNadel
Ben Nadel
4 years
I `console.log()` all day, every day in #JavaScript . But, I always forget that you can style the `console.log()` output using #CSS . This feature is awesome; and, hopefully by writing it down, I'll remember it better in the future.
Tweet media one
Tweet media two
16
119
667
@BenNadel
Ben Nadel
5 years
Oh sweet chickens! I just learned about a #CSS property called `overscroll-behavior`. This can be used to "trap" scrolling in an `overflow` container, preventing unwanted scrolling in a parent element (such as the `body`). This is a game changer! So nice!
9
90
380
@BenNadel
Ben Nadel
4 years
ANGULAR DEVS 2015: Inversion of Control (IoC) is amazing! It changes everything!!! REACT DEVS 2015: IoC is hella lame—I can just require() all the things! REACT DEVS 2020: Context is amazing! It changes everything! ANGULAR DEVS 2020: Yeah, Context is IoC! Welcome to the party!
17
57
324
@BenNadel
Ben Nadel
4 years
The other day, on the #CSSPodcast , @argyleink mentioned that in "the real world" shadows actually shrink as an object moves away from a surface; and that we can do this using a negative box-shadow spread. I didn't even know that spread could be negative?!
8
54
289
@BenNadel
Ben Nadel
6 years
If I ever got into this car, I know I’d never be able to figure out how to get out. I’d end up having to break the window. #ProgrammingHumor
Tweet media one
9
35
240
@BenNadel
Ben Nadel
7 years
I just finished watching “CSS Grid” - the new and FREE video course by @wesbos . As always, just top-quality teaching material. Definitely a recommended-watch for anyone not yet familiar with the CSS grid specification (like myself).
Tweet media one
5
19
206
@BenNadel
Ben Nadel
4 years
From #CSSpodcast , I didn't realize that the `border-radius` could accept up to 8-values to create some really funky shapes:
Tweet media one
7
50
195
@BenNadel
Ben Nadel
6 years
EVERY REACT DEV: React is amazing because it forces you to learn native JavaScript. ALSO, EVERY REACT DEV: I need to touch the Date object. Better install moment.js.
13
37
190
@BenNadel
Ben Nadel
8 years
I think I’ve finally found my “happy place” when it comes to formatting the Conditional Ternary Operator.
Tweet media one
16
50
153
@BenNadel
Ben Nadel
8 years
Picking Lucy up from daycare is one of the best things in the world. Makes my heart melt!
10
27
138
@BenNadel
Ben Nadel
7 years
Took me 2 weeks to finish Learn Node by @wesbos - a professional and highly-polished course on Node,js & Express.js.
Tweet media one
11
11
132
@BenNadel
Ben Nadel
6 years
Over the weekend, I read Refactoring UI by @adamwathan and @steveschoger . The content is amazing and the writing is clear, concise, and to-the-point. I need to come up with a strategy that ensures that I weave this book into my ongoing development efforts.
Tweet media one
3
5
124
@BenNadel
Ben Nadel
1 year
In the past 8-years, I've gone from not know what feature flags are to seeing them completely transform the way our product team approaches work. I feel that I have a perspective worth sharing. As such, I'm going to try my hand at writing a book.
Tweet media one
5
11
126
@BenNadel
Ben Nadel
6 years
I code every day, all day … and still, whenever I start a totally new project, I feel I have no idea what I’m doing :D So much changes between each project. Currently trying to figure out how use Webpack to manage assets inside a simple Node.js application. Feeling like a noob!
9
13
116
@BenNadel
Ben Nadel
7 years
I think, as a community, we should stop postulating that frameworks or libraries “prevent” people from learning #JavaScript . If anything, these things “facilitate” the learning of more JavaScript because they broaden the type and scope of projects we can work on.
13
34
114
@BenNadel
Ben Nadel
4 years
I've been a long-time user of #ColdFusion . But, the journey hasn't always been smooth. After using #Lucee #CFML for the last year, however, I find that I've completely fallen back in love with the language. And, I wanted to share what about it sparks Joy.
Tweet media one
16
27
114
@BenNadel
Ben Nadel
3 years
I *know* that I'm incredibly biased here. BUT, I honestly have trouble wrapping my head around why #JavaScript developers think that JSX in #React is easier to read and write than #Angular templates? 🔥 The NgIf and NgRepeat directives are life! 🔥 Such clean! Much streamlined!
Tweet media one
29
15
110
@BenNadel
Ben Nadel
8 years
My journey to the dark side is complete. I’ll now be doing #Angular2 demos in TypeScript.
Tweet media one
7
50
109
@BenNadel
Ben Nadel
8 years
Trump on Software: “I want to repeal and replace the entire codebase.” … days later: "Nobody knew programming could be so complicated!"
6
37
108
@BenNadel
Ben Nadel
4 years
My MacBook Pro batteries! Bananas! Thankfully my local shop had 1 battery in stock for my 2015 machine. 😲
Tweet media one
33
4
99
@BenNadel
Ben Nadel
7 years
I’m working on a project that is now a month over-due (with plenty left to go). I feel like now is a good time to re-post this little gem.
Tweet media one
2
44
94
@BenNadel
Ben Nadel
9 years
Awesome pants! You can create custom DOM events, like “clickOutside”, in #Angular2 .
Tweet media one
2
50
95
@BenNadel
Ben Nadel
5 years
Coding HTML emails is ..... the worst. It sucks the joy out of every cell in my body.
23
2
89
@BenNadel
Ben Nadel
6 years
Easing into the early morning with @wesbos and his Advanced React & GraphQL course 😎
Tweet media one
3
5
91
@BenNadel
Ben Nadel
7 years
As an introvert, I live in constant fear that at any moment — without any warning — I may get invited to a wedding.
12
1
89
@BenNadel
Ben Nadel
8 years
Creating an index-loop structural directive in #Angular2 - not nearly as scary as I thought!
Tweet media one
2
37
88
@BenNadel
Ben Nadel
8 years
Today, I fixed a bug in production with the following Git commit: 8 additions and 5,469 deletions. Deleting code is the best! THE BEST!
6
15
87
@BenNadel
Ben Nadel
5 years
I spend a lot of time combing through structured #JSON logs. So, I created a fun little #Angular app that uses #CSS #Grid and recursive components to parse and render a JSON payload, including the ability share payloads via URL.
7
8
82
@BenNadel
Ben Nadel
8 years
From the weekend - creating a logging ErrorHandler implementation in #Angular2 RC 6.
Tweet media one
1
36
85
@BenNadel
Ben Nadel
6 years
Just starting Functional Light by @getify . Already feeling heart palpitations—but taking comfort in his pragmatic viewpoint :D
Tweet media one
1
28
83
@BenNadel
Ben Nadel
4 years
As an engineer, I almost never use the phrase "It Depends". Instead, I ask you questions about what you are trying to do - and then I tell you what I think you should do based on those insights and my past experience.
7
4
80
@BenNadel
Ben Nadel
6 years
I just watched @ClarkValberg from @InVisionApp blow the roof of the #InVisionIRL keynote. Truly inspirational.
Tweet media one
4
4
80
@BenNadel
Ben Nadel
4 years
Over the last week, I've been torn-up inside about the way that I've acted, the things I've written, and the example that I've set in the community. It makes me feel sick to my stomach. I want to atone and apologize and promise that I can be better.
Tweet media one
13
5
78
@BenNadel
Ben Nadel
4 years
Because of all the mask-wearing in public, I’m finding it harder to communicate my emotions with a simple smile. As such, I may have to start using the vein in my forehead to show appreciation 🤣 😷 🤣 😷 🤣 😷
Tweet media one
10
2
76
@BenNadel
Ben Nadel
4 years
Yesterday, I accidentally solved a bug that's been plaguing @InVisionApp for over 5-years. It was a parseInt() call in #JavaScript . And, given subtle parseInt() failures, I thought I should share why I almost always prefer the unary plus operator.
Tweet media one
5
14
75
@BenNadel
Ben Nadel
6 years
Been doing a ton of state-management reading the last few days. So far, these articles by @brechtbilliet : * * ... and this one by @ThomasBurleson : * ... have been really striking a chord in me.
4
19
72
@BenNadel
Ben Nadel
8 years
Woot! Getting *type checking* enabled in the in-browser TypeScript transpiler in #Angular2 .
Tweet media one
4
43
75
@BenNadel
Ben Nadel
8 years
Looks like I'm the only one seeing 10 Cloverfield Lane instead of Batman :D
Tweet media one
8
0
72
@BenNadel
Ben Nadel
8 years
On our way to D.C. for the #WomensMarch Excited to stand with and support the strong, wonderful women in my life.
Tweet media one
2
2
73
@BenNadel
Ben Nadel
5 years
For the last few years, my mental model for Ng-Template in #Angular has been that of the JavaScript closure. However, based on a reader comment, I wanted to SANITY CHECK nested TemplateRef usage. As it turns out, this works exactly as I thought it would :D
Tweet media one
1
22
71
@BenNadel
Ben Nadel
5 years
This morning, I am beside myself with joy. Me and my teammates have been working hard to improve the performance of one of our #Lucee #CFML services. These are (roughly) the same graphs, separated by 2-months of experimentation, refactoring, and instrumentation. Will write more.
Tweet media one
Tweet media two
10
6
71
@BenNadel
Ben Nadel
8 years
Having fun with dynamic event-type parsing in custom DOM event plugins in #Angular2 .
Tweet media one
2
41
70
@BenNadel
Ben Nadel
6 years
Writing a post about databases. I enjoyed this statement: "I spent the first half of my career figuring out how to write super complicated, multi-hundred-line queries; and, I've spent the second half of my career trying to figure out how to undo all that complexity.” #SQL
6
10
72
@BenNadel
Ben Nadel
5 years
I found this conversation between @dhh and @jason to be completely fascinating. They cover a lot of economic concerns and perspectives that I had not considered before. Definitely worth a listen.
2
5
72
@BenNadel
Ben Nadel
4 years
Saw this little fella starting it’s new life. Never seen this before!!
Tweet media one
9
2
69
@BenNadel
Ben Nadel
5 years
Most of the code I write will probably be crap in one way or another. No choice of technology is going to change that. So I better love the technologies that I choose to work with. If not, every day is gonna be laced with minor frictions that will eventually wear down my soul.
8
1
69
@BenNadel
Ben Nadel
3 years
Am I the only one who would rather just see a spinner than a "skeleton UI"? I find a skeleton UI actually makes the page feel like it's loading slower, likely due to a misalignment of expectations. I expect spinners to take a moment. But, skeleton UIs feel sluggish. #UX #Design
18
3
68
@BenNadel
Ben Nadel
8 years
From the weekend - creating specialized HTTP clients on top of the #Angular2 Http service.
Tweet media one
4
43
68
@BenNadel
Ben Nadel
7 years
Recreating Twitter’s tweet progress indicator using #SVG and #Angular . Huge thanks to @SaraSoueidan and @chriscoyier for their SVG articles.
Tweet media one
2
18
68
@BenNadel
Ben Nadel
6 years
If I write code like this in JavaScript: a => b => c => d => { ... } ... and I can't clearly articulate why all the intermediary functions are required, do I *really* understand what this code is doing? This is why I tend to shy away from Functional programming.
19
10
65
@BenNadel
Ben Nadel
5 years
Over the past 7-years building @InVisionApp , I've come to strongly believe that ALMOST ALL modal windows in an #Angular app should be directly accessible by Route. This creates a more flexible and useable application; and forces devs to decouple views.
6
14
67
@BenNadel
Ben Nadel
4 years
At @InVisionApp , my team's designer - @MarthaABerg - has introduced some really interesting techniques around ideation, one of which is sorting-out MVP (minimum viable product) feature selection. I've been enjoying it so much, I wanted to see if there was potential product in it?
11
7
67
@BenNadel
Ben Nadel
6 years
One of the best indicators that I’ve made a bad abstraction is when I have two object-path segments in a row that are the same. Examples: - `item.item` - `product.product` - `person.person` Usually means the top-level thing is poorly named / identified.
5
4
67
@BenNadel
Ben Nadel
7 years
Just came across this photo of me and the one-and-only big Ronnie Coleman back from college. I’m the one on the left. YEAHHHHH BUDDY! LIGHT WEIGHT! LIGHT WEIGHT BAAAABAAAAY!
Tweet media one
7
1
65
@BenNadel
Ben Nadel
7 years
I just reviewed “What The Flexbox” by @wesbos - a FREE video course on #CSS flexbox. Highly recommended course!
Tweet media one
4
12
64
@BenNadel
Ben Nadel
6 years
Merry Christmas, you wonderful, beautiful people!
Tweet media one
1
0
64
@BenNadel
Ben Nadel
6 years
Just realized my UPDATE statement had no WHERE clause. The tiny detail that tipped me off: every record in my table suddenly having the exact same value. N-n-n-n-noice!!!!
20
1
64
@BenNadel
Ben Nadel
3 years
Woot woot!! I done got my first shot!! 💪💪💪
Tweet media one
3
0
62
@BenNadel
Ben Nadel
9 years
From the holiday weekend: playing with ngModel, $formatters, and $parsers in #AngularJS .
Tweet media one
1
24
64
@BenNadel
Ben Nadel
5 years
I know that `JOIN` and `INNER JOIN` are functionally equivalent. But, omitting the `INNER` portion—to me—feels like omitting parenthesis in a complex mathematical equation: The author had an opportunity to make the code more clear for the next person; but, elected not to do so.
16
4
62
@BenNadel
Ben Nadel
7 years
Anyone who says anything is “easy” to learn (especially in the tech world) is likely suffering from the “curse of knowledge”. If I ever tell you that something is easy to learn, please slap me :)
11
5
63
@BenNadel
Ben Nadel
6 years
Over the weekend, I read “Designing Distribute Services” by @brendandburns . As someone who is very new to the world of containerization, this book gave me a lot of perspective on how to design decoupled and reusable services.
Tweet media one
0
4
62
@BenNadel
Ben Nadel
6 years
HAPPY BIRTHDAY to my sweet little girl. She is 7 (47 in dog years) today!!! 😍❤️🎉🎈
8
0
63
@BenNadel
Ben Nadel
7 years
Woot! Just got my @InVisionApp Database Engineer tshirt. UPDATE team SET status = 'playa' WHERE id = 'bennadel' ; I like data!
Tweet media one
Tweet media two
3
1
62
@BenNadel
Ben Nadel
5 years
I've been having a lot of fun playing with the File object in #Angular lately. As a new experiment, I wanted to see if I could let the user Copy-Paste an Image into my Angular 7.2.15 app. Turns out, it's actually pretty easy to do - awesome sauce!
1
17
59
@BenNadel
Ben Nadel
6 years
When you get back to your desk only to find that your build broke because some linting rule decided that it would mean the end of the world if the extra space at the end of one of your code comments went to production.
10
9
60
@BenNadel
Ben Nadel
8 years
Heartbreaking ... DEV: We should fix this bug that’s affecting users. PM: No, we have to focus on building new stuff they don't have yet!
6
21
59
@BenNadel
Ben Nadel
4 years
When the missus naively says, “It’s your birthday, do whatever makes you happy,” this is what happens 😍 #DogDad
Tweet media one
9
0
60
@BenNadel
Ben Nadel
4 years
The other day when I was listening to the #CSSPodcast with @Una and @argyleink , Adam said something very thought-provoking: using #CSS #Flexbox on pseudo-elements. What's so cool about this is that we can apply NESTED Flexbox layouts to pseudo-elements.
Tweet media one
Tweet media two
1
16
60
@BenNadel
Ben Nadel
6 years
I'm having one of those mornings where I write a bunch of code, commit it to my feature branch, and then run: `git checkout master` ... only to see: `Already on 'master'` .... D'oh! Time to: ``` git checkout -b feature git checkout master git reset --hard origin/master ```
7
6
61
@BenNadel
Ben Nadel
5 years
When you work from home, going out for Valentines dinner means putting on the “classy” sweatpants 😎 🥰
3
1
60
@BenNadel
Ben Nadel
3 years
Oh my sweet, sweet chickens! After routing 100% of all traffic through the @Cloudflare #CDN , I received my first perfect #Lighthouse score! This includes all #ColdFusion #JavaScript #CSS and images - all going through the CDN 💪
Tweet media one
9
3
58
@BenNadel
Ben Nadel
6 years
Every time a password is rejected for too much length, an angel loses its wings :D
Tweet media one
9
6
59
@BenNadel
Ben Nadel
6 years
Two decades ago, I received a simple piece of advice that forever changed the way I see #Design and #UserExperience .
Tweet media one
3
9
58
@BenNadel
Ben Nadel
5 years
Rocking out in my #ColdFusion Lives tshirt today. Gotta represent that sweet sweet #CFML goodness! Making web development luxurious all day, every day! 😎 I think @raelehman designed this shirt?
Tweet media one
7
4
59
@BenNadel
Ben Nadel
4 years
I just finished merging another #microservice back into the #monolith ... which makes me feel like:
5
3
59
@BenNadel
Ben Nadel
8 years
Both literally and figuratively supporting the women I love :D #WomensMarch
Tweet media one
3
0
57
@BenNadel
Ben Nadel
8 years
A quick look at the flexible syntax of structural directive expressions in #Angular2 .
Tweet media one
4
14
56
@BenNadel
Ben Nadel
6 years
After failing to build a list animation in #Angular 7, I tried building it in #VueJS 2.5.21 and was blown-away to find it natively supported with almost no code. WAT!? What is this madness!!
7
6
55
@BenNadel
Ben Nadel
9 months
Good morning my beautiful, beautiful friends! I'm thrilled to announce that I have an "early access" version of my #FeatureFlags book available at 50% off. I've poured 7-years of experience into this book; and I hope someone finds it helpful. #CyberMonday
Tweet media one
7
9
58
@BenNadel
Ben Nadel
8 years
Holy cow - this Async / Observable / Generator / Promise #JavaScript talk by @jhusain made my head hurt… a lot :)
4
26
58
@BenNadel
Ben Nadel
6 years
After 2-weeks of writing, I finally finished my opus on Database Index Design. The goal of this exercise was to write the article that I *wish I had had access to* 10-years ago. It is an attempt to demystify the art of index design.
Tweet media one
8
8
57
@BenNadel
Ben Nadel
5 years
Happy Birthday to my little birthday goose! She turns 8 today 😍
Tweet media one
8
0
56
@BenNadel
Ben Nadel
5 years
Hmmm, having a very "down" week. Not feeling like I'm getting anything done at work. My blog infrastructure is breaking, and I don't have the skills to fix it. I haven't been to a MeetUp in months. And I'm feeling stunted creatively. .... I need to find some small victories.
25
1
56
@BenNadel
Ben Nadel
9 years
My approach to managing key-events in a complex #AngularJS application with nested views. http://t.co/CoQFXQz2iB http://t.co/NVonE6Lnqz
Tweet media one
0
23
55
@BenNadel
Ben Nadel
7 years
PAST BEN: I’m gonna lift lighter weights so I don’t mess up my joints. RECENT BEN: My joints feels pretty good, let’s do a few weeks of heavier weight! CURRENT BEN: Oww! My left shoulder! FUTURE BEN: I’m gonna lift lighter weights so I don’t mess up my joints. … repeat.
9
0
56
@BenNadel
Ben Nadel
5 years
I DONE FLIPPED MY FIRST TIRE!! It was fun, but made me light headed. Only did it twice on the way to the car (after a quality deadlift workout). Life goal unlocked!! 😎 #ProjectHuge #BeastMode
10
0
56
@BenNadel
Ben Nadel
5 years
I just came across a logical expression in the code that took the form of: ( a && ! ( b && ! c && ! d ) ) My brain died a little bit. This is the kind of expression that perfectly illustrates why guard statements and intermediary variables can be so helpful!
15
6
54
@BenNadel
Ben Nadel
3 years
As someone who loves #Angular , it's interesting to watch #React devs—who used to love React for its unopinionated ways—now moving onto other frameworks because of their "holistic" solutions. Obviously, this doesn't apply to all React devs. But, holistic solutions are underrated!
8
3
54
@BenNadel
Ben Nadel
6 years
I’m having one of those days... in the middle of one of those weeks... where I just need to take a minute and lay my head down on the desk.
Tweet media one
12
0
54
@BenNadel
Ben Nadel
7 years
Just left @InVisionApp board meeting. So impressed with the caliber of people we have. Doing things I'd never have the courage to imagine!
1
0
55
@BenNadel
Ben Nadel
5 years
My wife's been trolling me lately by shouting "I LOVE YOU" whenever I tell the dog that I love her. So now, I have to pass secret hand-written love notes to my dog so that my wife doesn't feel left out. Families are hard.
Tweet media one
3
0
54
@BenNadel
Ben Nadel
9 years
Tweet media one
3
29
52
@BenNadel
Ben Nadel
6 years
I keep hearing people say, "With CSS custom props (ie, variables), we'll no longer need CSS pre-processors." I don't understand this mentality. Am I the only one who will still be using pre-processors for things like: &::after {} &--selected {} &:hover {} Pre-processors rock!!
10
2
51
@BenNadel
Ben Nadel
7 years
Trying to debug someone else’s #React code is tough. I’m like 7-layers deep in prop-passing, and just hit an “action creator” in a click-handler. Now, CMD+F to figure out where that heck the action is being consumed. Props -> Props -> Props -> Props -> Props -> Props -> Action
5
7
53
@BenNadel
Ben Nadel
3 years
In the world of bread, Naan is king.... that is all.
13
0
54
@BenNadel
Ben Nadel
7 years
Renewed my drivers license this morning. At 37, I figured it's finally time to get a new photo. Good-bye 16-yo Ben ... so young, I was :D
Tweet media one
9
0
53