RxJS: first() vs. take(1)

When I first started using RxJS (and for a while afterwards), I assumed that first() was just a convenience method that functioned identically to take(1). Occasionally I'd see the error, "EmptyError: no elements in sequence," but I never made the connection to my code.

My Schedule for MidwestJS

I can't believe MidwestJS is already back! I had a fantastic time last year, and I'm looking forward to attending again. The lineup looks great and I'm particularly excited because my brother, Ryan, will be giving a talk on unit testing with Enzyme.

npm as a Build System Can Be Slightly Annoying

I was originally going to title this article, "Why I Don't Like npm as a Build System," but I thought that sounded a little confrontational. I actually like the concept of npm as a build system, but there's one thing that project maintainers frequently forget: their Windows users (there are dozens of us!). This morning, I read a great article on ditching your Grunt/Gulp/etc dependency and using npm as your build system via npm scripts. It reminded me of a slight annoyance I ran into earlier this year when looking into contributing to angular-formly.

File Uploads with AngularJS and Ratpack: Part 1

Before I start this blog post, I just want to give a shout out to the Ratpack forum and especially the users that contribute to the forum. When I finished my code for this post, I posted it to the forum in hopes of receiving some criticism so that I could tweak it before writing an article about. At most, I expected a comment or two along the lines of, "Yah, XYZ is OK but you could maybe try it this way instead." In other words, helpful but not too helpful.

The next day, Luke Daley had forked my project (his fork is here) and made some major improvements. He was also available to answer a few questions I had about his changes. I already thanked him profusely on the forum, but I just wanted to offer my thanks again - it's communities like this that make me really enjoy working with new (to me) technology. So, without further ado, let's get into it..