The Central Hub of Toad Knowledge

building blueprints

The Art of Sprinting: It’s Not Just for Software Development

As a sequel to the article I wrote last month about the process and technology improvements I helped design/build firm Design Platform make earlier this year, I wanted to highlight another change that they implemented that transformed their workflow efficiency: Two week sprints.
By Hayli Hay, Director of Client Services
October 24, 2017

Leveraging Structs and Generics in the Networking Layer with Swift 4 (An update to objc.io Swift Talk)

Swift Talk #1 and #8 introduces an approach (hereinafter alternative approach) to using structs and generics to build a networking layer in Foundation. The original code was written in Swift 2.2. Here, I will make an update for Swift 4, incorporating the use of newly available JSON parsing features. I will also show how it could be extended to fetch images.
By Phil Tseng, Software Engineer
October 23, 2017

Q4 Hackathon Theme: Machine Learning & Data Science

I was dusting off my copy of Ray Kurzweil's The Age of Spiritual Machines today, and found a fascinating chart (adapted below). The book was written in 1998; it's interesting to reflect nearly 20 years later we're more or less on schedule. $1000 will buy you an electronic brain with a "thinking" capacity somewhere between a mouse and human.
By Dylan Tack, Principal Engineer
October 21, 2017

Origin Protection with AWS WAF & Shield

Amazon has been steadily improving their CloudFront CDN offering with WAF (Web Application Firewall) capabilities. This is a great feature, however it's ineffective if origin servers can be attacked directly, bypassing CloudFront. With a little extra work, access to the origin can be restricted. The solution is to add a secret header value at the edge, and configure the load balancer to block requests that are missing this secret. This is necessary because CloudFront distributions are not…
By Dylan Tack, Principal Engineer
October 12, 2017

Git: Push All Branches to a New Remote

Here's a scenario some of you might have encountered with your Git repositories. You have a working copy of a Git repo, say from an old server. But you only have the working copy, and the origin is not accessible. So you can't just fork it. But you want to push the whole repo and all the branch history to your new remote. This is possible if your working copy contains the tracking branches from the old remote (origin/branch1, origin/branch1, etc.). If you do, you have the entire repo and…
By Keith Dechant, Software Architect
October 9, 2017

Drupal 8: Migrating data from JSON files

The beauty of Drupal 8's built-in Migrate module is its flexibility. Lots of people will likely use it to migrate their Drupal 6 or 7 sites, but that's not all it can do. In fact, it's capable of migrating data from just about any data source PHP can read. The first few times I used Migrate in Drupal 8, I was migrating data from a MySQL database into Drupal. See my previous posts about the topic here.
By Keith Dechant, Software Architect
October 9, 2017
embossed graphic on paper of people, a cog, and a computer screen

Maximizing the Value of a Small Team by Maturing Processes and Technology

One of the things that I do is help companies and business people implement a people, process, and technology golden triangle so that there is a solid foundation for growth, maturation and scalability in their organization. Though this is a complicated process, my role in this is to maximize the efficiency of these three things. You could be using the wrong technology, have too much technology, or not have enough. You could have a heavy process that burdens people or not enough process that…
By Hayli Hay, Director of Client Services
September 28, 2017
Image of a developer's computer screen.

BackstopJS Part Deux: Javascript Config and Makefile

I’ve written previously about my setup for BackstopJS (which I’m still excited to say is the creator-recommended tutorial for V2 of the package!). Since that article, I’ve switched from JSON to Javascript configuration, and added a Makefile as the main method of running visual regression tests with BackstopJS.
By Angela Riggs, QA Engineer
September 11, 2017

Open Source HR, because we need this.

 
By Jenny Berkedal, Director of Operations
September 7, 2017
one hand holding an apple, the other hand holding an orange

Comparing Drupal, Symfony, and Craft CMS Frameworks

With so many options available out there, it can be confusing to choose the right CMS for your business. When a client came to us with a recommendation from their design partner to build their solution in CraftCMS, we had to pause for a moment. Would CraftCMS be robust enough for their needs? Would it allow for growth and future proofing that they wanted? We took it upon ourselves to assess the strengths and capabilities of three notable CMS frameworks to help our client in their decision…
By Hayli Hay, Director of Client Services
August 28, 2017

Ready for transformation?