The Central Hub of Toad Knowledge

Angular 2: HTTP, Observables, and concurrent data loading

Angular 2 provides a new pattern for running asynchronous requests, called Observables. Here, we will review a few of the concepts and eventually see how to run multiple concurrent HTTP requests, with the callbacks running only after all of them have completed. Note: At the time of this writing, Angular 2 is still in beta. Some details may change between now and the final release.
By Keith Dechant, Software Architect

Using Capistrano with Dynamic Virtual Environments

The Problem At Metal Toad we use Capistrano to facilitate deploying projects. It allows us to support different environments, pulling and pushing databases and files, for all sorts of products.
By Nathan Wilkerson, Cloud Engineer

Does Lean Six Sigma Work at a Digital Tech Agency?

Using Lean and Six Sigma methodology in a manufacturing environment is practically required. The healthcare industry is a big fan. Applying it in a business services environment happens more frequently but it's still not status quo. Using Lean Six Sigma at a digital agency is practically unheard of,  which is why we wanted to try it!
By Hayli Hay, Director of Project Management

Teams Make Their Sprint Commitment

One cornerstone of scrum is the team sprint commitment. A team must make their sprint commitment in order for the business to have faith in the team and agile process, to allow predictability of dates, and for team truly to perform as a team vs. a set of individuals. I want to explore some of the reasons why teams don’t make their commitments and what the teams can do to avoid missing their commitments in each case.
By Matthew McLuckie, Director of Development

Community Building: Women in Tech

I made a new friend the other day. Her name is Megan Wilson. She lives in Kentucky. She emailed me. And she shares the same passion around workplace gender equality in tech as I do. Megan's email alerted me to some research she has done around the gender gap in tech and its detriments. A number of things really jumped out at me on the following infographic and, with permission, I've shared it below. Namely:
By Randi King, Director of People

Stand up for Best Practices

To deliver quality products, everyone involved with the development process must be willing to stand up and take a stance against not following best practices.
By Matthew McLuckie, Director of Development

Brand Strategy Planning Tips for a New Year

3 Fundamental Underpinnings for Successful Brand Planning The year of our Lord Vader 2016 is nearly upon us. As marketers, we’ve begun to wrap up our expense forecasting, industry audits, departmental expansion plans, and our Star Wars marathons in preparation for Episode 7: The Force Awakens.
By Nate Rupert, Marketing Manager

WordPress Deployments: Example of Database Changes in Code

How do you update the database of a WordPress site that's already in production without a lengthy content freeze or losing your client's data? If you've searched the Metal Toad blog, and who among us hasn't, you know from an earlier post by Chris Svajlenka that you should make any changes to the WordPress database via code; code that you can version control, code that you can deploy, code that you can reproduce.
By Monika Spielman, Junior Developer
Toadcast 033

Toadcast 033

For Toadcast 33, I talk with Metal Toad's Director of People about diversity in Tech, Portland, and Metal Toad Check out the Podcast on iTunes ! If there are any questions you'd like to hear answered in our developer profile todcasts, comment below and we will add it to the show.
By Steve Winters, Cloud Services Manager

AngularJS: Adding a user-friendly default option to ng-options

Angular's ng-options directive provides a nifty way to build a select element based on an array in your scope. It can even bind the options to objects in the array, not just string values. But its handling of default values can be a bit puzzling. If you ever find that your bound value doesn't match any of the available options, you could end up with this bit of inscrutable content in your DOM:
By Keith Dechant, Software Architect