From the Blog
-
Why you should use Docker in development.
What is the point of containerizing something like a Rails app in a development environment? What do we get in return for learning Docker and how it works there? It used to be that if I started programming a new app in say, Ruby on Rails, the way I would setup my development environment (on…
-
Why we unit test.
Programmers write bugs (you didn’t think bugs wrote themselves right?). To deal with these logic regressions we write tests to keep ourselves honest. Test are both a way to ensure that the program really does what intended, and to communicate the programmers intent to the next person who looks at the code. But some of…
-
What is a Ruby block?
Ruby blocks are fairly easy to pickup, use, and make work if you just follow the common examples. But at some point you might realize that you don’t really understand what is going on in the same way as you might with variable assignment or a method call. Let’s start with a basic definition of…
-
Notes on the Rails 8 Keynote: “It’s More Fun to Be Competent”
David Heinemeier Hansson is back with the the Rails World keynote talking about the trends he is seeing in the industry and where he wants to take Rails 8. As usual, the keynote has lots of interesting ideas and the next version of Rails is giving us developers lots of new tools. I want to…
-
The differences between Ruby blocks, procs, lambdas and closures.
Grappling with the differences between Ruby blocks, procs, lambdas, and closures is confusing at first. To fresh eyes they looks kinda weird and complicated compared to other parts of Ruby which are more familiar. But once you get them down you realize how cool and useful they really are. We are here to walk you…
-
Better, faster code with test driven development.
People have pretty strong opinions on TDD (Test Driven Development). Some think that it is a pretty big waste of time while others think it is the only way to go. Off the bat, I will state that I lean more towards the latter camp, that TDD is a great tool for both writing code…
-
ChatGPT is still making lots of mistakes.
How reliable is it? Far from ChatGPT taking all the jobs of writers, programmers, spreadsheet wizards (and more) I have mostly seen it used so far as a research assistant. A programmer will ask it some question and then use that to help compose a larger program. This kinda works in programming if you ask…
-
The Safety Margin in Software Development Estimates
Accurately estimating the time required to complete tasks or “tickets” is a complex endeavor. Every time you break down and plot out how you are going to add a new feature to existing software what you are really doing is…. making a wild-ass guess! Yes, I could say that adding a new rails controller is…
-
The Power of Play for better Team Meetings
Sometimes stand ups are soooo boring. The stand up. That once a day meeting where you: say what you did yesterday, say what you are doing today, say what is blocking you, and then tune out. It makes sense, we operate in a a world filled with deadlines, deliverables, data and procedures to make things…
-
What to Do When You’re Laid Off
A guide for software engineers. Alright, you’ve been laid off. Shit happens! But guess what? It’s not the end. Everybody gets randomly punched in the face sometimes. This is just another challenge to overcome on the way to the next amazing job. 1. Feel All the Feels, Then Move On Mad? Sad? Feeling like crap?…