Function signatures are a huge part of expressing ideas and systems through code. A language (or a programmer) can empower or impede your ability flow in and out of a codebase with joy and cognitive bliss.
When languages like C first came out, function definitions looked all the same. You give a function a name and an ordered lists of arguments with their corresponding types. Every one of these arguments is required to fulfill this wonderful contract we created.
Languages remained this way for some time due to, what I believe is, the prevalence of Object Oriented Programming and Design. OOP gave software designers the ability to reduce the arguments passed back and forth via function by throwing state on our objects. So instead of passing
fullName(firstName, lastName), we were able to call something like
Is Rails viable in 2020? What is the best way to use it for a modern monolith?
Rails is better than ever to build new projects with, it has always done an amazing job at developer experience through its generators and getting right into coding your app instead of building config for weeks to wire up your bespoke solution for another web application.
One area it has started to accelerate over the last few years has been the front end experience. It has taken a while to get right but it has become quite awesome and follows suit with the rest of “the Rails way”, which is something like: “get all of the decisions that don’t matter to this project out of my way so we can get to coding our app.” …
So you want to integrate your Box folders and files with your Ruby on Rails applications. There are a ton of reasons you might want to do this, but I am pretty sure if you landed here you might have an idea about why you are.
The Box.com API is fairly large and has a lot of amazing docs, but it can be difficult to figure out where to start or how you might use it to do things like, create folders from your Rails app or display files from a folder in your App’s UI.
In this post we will…
CSS, the web’s UI styling language, has come a long way since the days of GeoCities. Our lives are better (and sometimes worse), thanks to new language features, tooling, and design patterns. Let’s step through some common hurdles in CSS and how modern CSS frameworks, like Tailwind.css, can help solve them.
CSS has made a lot of progress over the years. For instance, it is now possible to vertically and horizontally center a div, and it is pretty easy! With the introduction of flex-box, CSS grid, transitions, and countless other things can now be styled that was previously a black box. …
As your team and codebase grows, things can get hard to measure, feel like they are slowing down. the more work you put in the more it seems to get worse. I know I have been apart of codebases that fight you at every turn. this is a rough space and can be very disheartening.
You might wonder why is this? why have things gone so poorly? what did we do to get here and how can we get out? there are some important things that are good to understand when you evaluate questions like this. So let’s dive in.
There are always 3 levers you can pull on when planning and executing on projects. Time, Scope, and Quality. …
I recently read the book Measure What Matters by John Doerr. Doerr goes over the system that he used at Intel and then brought to Google (when they were just about 30 people), to help the companies align their goals and measure their success. That system is called OKRs, which stands for Objectives and Key Results.
The TLDR of the book:
The OKR system is the most promising system around success I have seen up to this point. …
So when we needed to add rich interactions that would make jQuery cry uncle, we pulled in React. In some ways it has been really great. React has a lot of flexibility, especially for smaller isolated components throughout an otherwise “boring” webpage(notice I said page not app 😉). All in all I think it was a win bringing React on board, but I want to talk about some of the issues we ran into and some things I am stoked about. …
I don’t know about you but if I am running tests between changes in my code, and the they start taking more than 5–10 seconds to run I start to get distracted. Twitter, Reddit, memes.
In order to stay focused I have implemented a little trick for myself. I use Rspec and Guard, but I am sure there are solutions similar for other testing stacks.
when I save a file Guard automatically runs the test in that file or if I save the corresponding ruby file I am testing it will do the same.
IE if I save `my_sweet_program.rb` guard will run `my_sweet_program_spec.rb`. This is great until the file has 100 tests and takes 1 minute to run(I am not condoning these types of test suites…). Did you hear about those opinions on the internet? didn’t the rouge one trailer come out today? …
give me six hours to chop down a tree, and I will spend the first four sharpening the axe. -Abraham Lincoln
As programmers, sometimes it is not clear what the axe is or how to sharpen it. Some people will say just get better at programming, learn more about your language or framework. That really only gets you so far, and may not be the best thing for you to work on if you are already a few years into your career.
Our process has the biggest impact on how quickly we can get productive. Step one is we should look at our process. Record what your day looks like in a list. Don’t go into too much detail, but list the tasks as you do them throughout the day. …
There are great people all around you. If you listen to some of the greatest developers or writers on development, they all talk on the shoulders of giants and if they are smart, will tell you about it.
I know that sometimes it feels like you are alone as a programmer. Most of the time you are behind a computer. It can be an isolating place. Especially when everyone is trying to put their best foot forward and present themselves as if they have it all together. But you are not alone! …