Blogs
High Cost Tests and High Value Tests
You probably don’t need an actual ledger to measure the costs and benefits of your tests
(This is a sidebar to an email course called Noel Rappin’s Testing Journal that you can sign up for here. It relates to the content of the email course, but didn’t quite fit in. If you like this post, you’ll probably also find the course valuable. You can also hear me discuss similar topics with Justin Searls and Sam Phippen on an episode of the Tech Done Right podcast.
Books I Liked in 2016, Part 1.
Books 2016: Part One This is part one of my “books that made me happy in 2016”. As usual, we’re doing this in two parts. This one is the books I liked, the next post is the books I really liked.
I had a hard time separating the list this year, there were a lot of likable books, so there are kind of a lot here. In alphabetical order by title.
In Defense of Sliming
It’s the one and only Slimey Worm from Sesame Street!
When you write a new feature using a Test-Driven Development process you start out with a simple test, often creating an instance and calling a method on it:
If you are strictly following TDD, you’ll try to write the simplest code that could pass the test, so your first code that passes the test might look like this.
The code has no real logic, but it does pass the test, by just returning the expected value as a constant.
Not that Anybody Asked Me Again: Anker SoundBuds
So here’s my thing about headphones. I lose them or damage them quite a bit, your classic run them through the washing machine or such, and I don’t have very well trained ears. So I tend to buy cheap ones with the understanding that I’ll replace them pretty often. For the last few years, my go-to has been whatever The Wirecutter says is the best cheap in-ear bud.
That said, I do like the convenience of bluetooth wireless, especially when I’m commuting and the cable would have to run around bags, jackets and the like.
Headless Shopping Carts: Carts Users, and IDs
You want to avoid abandoned shopping carts. (Photo via LookAfterYourself)
My book Take My Money: Accepting Payments on the Web is about — wait for it — accepting payments on the web. Although the thrust of the book is dealing with all the complexity of managing money, we do talk about the user experience of interacting with a payment process.
Specifically, the book shows how to set up a shopping cart for users to hold on to items they want to buy.
Not That Anybody Asked: The New MacBook Pro
Some thoughts about my new laptop about two weeks in, which I gather I’m supposed to hate, but which so far I persist in kind of liking. I think it’s a little bit about expectations and what’s being replaced.
So I got the higher-end 13 inch MacBook Pro, with the touch strip, with a bigger SSD, but without the chip upgrades. It’s replacing a 2012 15 inch MBP that was definitely showing its age, with a screen that ghosts and dwindling battery life.
What’s Up With Rails Controller Tests
The Testing Pyramid, from Rails 4 Test Prescriptions
It’s time for “Ask A Tester Person”, a game I haven’t played in a long time. I got a question on Twitter (several weeks ago, actually… but better late than never, right? Right?):
I am, as a Rails junior, also confused about changes in controller testing
I guess that’s technically not a question, but we’ll consider to the question to be “What the hell is up with controller testing in Rails?
On Refactoring, Workshops, And Being Reviewed
This is not exactly what the code in question looked like
I had a unique career experience this year. After watching this really quite fantastic RailsConf talk from Katrina Owen, I asked if she’d be interested in doing a full-day refactoring workshop for the Table XI developer team.
Katrina agreed, and we decided that she would put together a workshop based on refactoring some of our actual client code. I had just the project in mind, and had her look at some specific examples.
Stream CSV Files In Rails Because You Can
It’s a stream, kind of
I was reading the ActiveAdmin docs, as one does, when I read that ActiveAdmin, by default, streams CSV data when you request it from your browser, rather than sending it all in one chunk. This means that the Rails server can start sending the CSV data to the client while the file is still being generated. This can make the response much faster. (True fact, I was reading it for my mega-hot best seller Take My Money: Accepting Payments on The Web.
Take My Money! Accepting Payments on the Web
I love this cover, by the way.
My new book, Take My Money: Accepting Payments on the Web, is available today. If you have a Rails application that touches money, this book will help you. I hope that this book will help you build your payment application with less stress and fewer mistakes.
Here’s why I wrote it: My favorite books and blog posts to write are the ones that I wish I had been able to read when I was starting a new project.