Fun fact: x % 2 !== 0
is wrong sometimes. You might expect x
to be an integer, but sometimes it isn't due to JavaScript's floating point bug.
But also:
console.log(NaN % 2 !== 0); // => true
console.log('abc' % 2 !== 0); // => true
Hi, I'm Jon! I'm a full-time open source software developer and single dad.
Several years ago, just before my 40th birthday, I switched careers from sales, marketing and consulting to learn how to program, with the goal of making the world a better place through code. Whether that means giving people access to information, the tools and technology to level the playing field with big corporations, or empowering people in impoverished regions to participate in the world economy.
Since I started programming, 6 of my projects have trended to number one on GitHub, and I've created hundreds of other open source projects as part of my learning process and in an effort to reach my goals. Today tens of millions of projects depend on my code. Open source software takes a lot of time to create and maintain. Please help me to achieve my goals of improving the world through code, help me create better developer experiences, or just say "thank you" by sponsoring me on GitHub. Any and all contributions are greatly appreciated.
If I could afford it, I would spend 100% of my time on open source. That's not a reality yet, but with your help we can make it happen!
Each contribution I receive increases the depth and time I can spend on maintaining my open source projects, contributing to other projects, or creating new ones. Please consider sponsoring me.
You can find me here: