rustBenchmarking Rust code using Criterion.rsLearn how to be a good custodian of your Rust code by using the Criterion crate effectively.
Crypto Through Immersion - [ShipIt.io Podcast]What we're trying to do is break down our part one and two, how you can immerse yourself in this world to learn it the fastest and come to appreciate it. Let's talk about “do you have to care about the project or not?”
Why You Need KYCKnow Your Customer (KYC) is an integral part of any Anti-Money Laundering program. In this article I'll go through what KYC is, why you may need it, and how to choose a SaaS provider that fits your needs.
AWSBest Practices for Terraform AWS Tags: Part 2AWS tags are key-value labels you can assign to AWS resources that give extra information about it.
PlatformsMachine Learning: Explain it Like I’m Five [Shipit.io Podcast]If you've heard a lot about AI and machine learning, but don't understand it, this month's episode is for you.
PlatformsGetting Started with Parallel Processing in RustRust helps mitigate concurrency hazards by design, but it's still up to the programmer to construct their program logic thoughtfully so they can take advantage of the power of concurrent and parallel processing.
reactWhy You Should Use React Native For Your Next Mobile AppMany seem to think that the only proper way to create a phone app is by engineering it natively. In this post, I break down why React Native is a great way to build an app.
ProcessContentful MigrationsMigrations allow us to describe how to adjust the data model of an existing database. They make a scripted, surgical change to a database rather than replacing it entirely and blowing away any content changes.
PeopleThe art of polite code reviewsTaking the time to write meaningful comments while providing feedback to your coworkers can go a long way. Yves shares some of the principles he follows to articulate positive criticism during code reviews.
ProcessIntroducing Web Blueprint - Our Practices for Web DevelopmentThis week we released a Github project called web-blueprint that documents our practices and opinions on web development. If you're a prospective client or hire, our hope is that you'll learn a little bit more about what web engineering at Rocket is all about.
ProcessMarketing Analytics with AWS and Power BIWe recently completed a project with one of the largest affiliate marketing consulting firms in the US which turned out to be a great success for everyone involved. We asked one of the lead consultants on the project, Jason Lombardo, to answer a few questions.
ProcessA Journey Moving the Monolith to Microservices2020 was a hell of a year: A global pandemic, a fraught US election, and ... Microservices! 😬
PlatformsFrom RxJava to LiveData (and back?)Here are some things that might be useful for someone else who has experience with RX and starts using LiveData for the first time.
PlatformsOrganizing AWS microservices with Python, Serverless, and namespace packagesOur project began with a small ask: build a small Python back-end using AWS Lambda and API Gateway (with just a handful of endpoints to support a few pages) and use Serverless [https://serverless.com/] to manage the Cloud Formation setup. Not very involved, not much code, not even much configuration for the deploy. Next came authentication. In pursuing the joint dreams of DRTW ("don't reinvent the wheel") and WALCAP ("write as little code as possible"), we selected AWS Cognito over other opti
PlatformsDeployments at Scale with AWS ECR and ECSWith DevOps at DEPT, one of our primary goals is to make the life of the developer easier. A specialty of ours is assisting in our customer's deployment process.
iOSiOS Accessibility: Dynamic TypeNowadays just about everyone, everywhere, regardless of age and ability, uses a smartphone. With that in mind, it’s more important than ever to consider all the different ways to make your app accessible to everyone to ensure an inclusive experience. In this series, we’ll be discussing different ways iOS developers can make their apps more accessible. First up, we’ll be talking about Dynamic Type. Dynamic Type is a feature on iOS that enables the app’s content to scale based on the user's
PlatformsCreate a Rust web service, from zero to cloudThis tutorial will describe how to... install Rust, create a new project and manage dependencies, Set up a simple web server, and compile the app and deploy to a virtual server. I'll be working on Ubuntu 20.04 but most of the setup should be the same on macOS or a different flavor of Linux.
ProcessFile Uploads Directly to S3 From the BrowserUploading files to S3 directly from the browser is a great way to increase performance by removing the need to process and then re-upload files from your own server.
PlatformsHow to Build a full page calendar with ReactLearn how to build a full-page calendar using React.
PlatformsReusable Patterns in CloudFormationAt DEPT, we use a variety of tools to provision infrastructure in the cloud. In this post, we take a look at some of the reusable patterns we've developed using AWS CloudFormation.
PeopleGitOps with Terraform, Terragrunt and GitHub WorkflowsIn this post, we'll define GitOps, review a sample Terraform app module repo and an associated GitHub Workflow to lint and version the module repo, and review a sample Terragrunt live repo and a GitHub Workflow to apply infrastructure changes.
PlatformsCI/CD with CodeBuild and CodePipelineRecently, we've used a few of AWS's services to create full integration and delivery solutions. In this post we'll look at how we've used AWS CodeBuild and CodePipeline to create a cost effective, performant and code driven end-to-end CI/CD solution.
PlatformsSecurely Storing Data on iOSOur mobile devices and the apps that run on them have a unique insight into our lives. We use them for communication, entertainment, shopping, photography, navigation, and myriad other purposes. Consequently, apps have access to a great deal of information about our preferences, our contacts, where we go, what we buy, and who we are. As app developers, we need to be cognizant of the information being handled by our apps and to safeguard it accordingly. The protection of sensitive information is
PlatformsUsing Unity with Swift for ARIn this post, I’ll dive into some of the technical challenges of AR as well as our preferred solution, focusing on integrating Unity into an iOS project.
PlatformsHeroku Review Apps with Automated Custom Domains on Route 53We were recently transitioning a client to use Heroku build pipelines for their Next.js project that handles most business logic through an external API, including authentication and cookie handling. This pipeline uses Heroku's review apps [https://devcenter.heroku.com/articles/github-integration-review-apps] as well as separate instances for staging and production environments. The client handled their domains through AWS's Route 53 [https://aws.amazon.com/route53/] DNS service. Pointing thei
PlatformsSQL 101 for Product ManagersThe following presentation was transcribed from “SQL and Python for Product Managers” webinar, presented by Colorado Product Meetup and senior software engineer, Brian Schiller. It has been edited for clarity.
Compliance in Codebases - How to Use Clang LibASTMatchers for ComplianceThe following article was created from a 2021 CppCon talk given by Jonah Jolley. One of our clients has a software product that must comply with federal regulations. For them, they must submit technical documents to a governing body. However, in their case, the codebase didn’t accurately reflect what was documented. This led to an unmitigated, unsafe condition. To solve this issue, we used Clang LibASTMatchers to check the codebase and ensure they were indeed compliant. Why Compliance in Cod
PlatformsFreeRTOS Tutorial: Getting Started with ESP32 on LinuxTo help others as they make their way through this process, we decided to document and release our findings as a FreeRTOS tutorial for developers. Here is how to get started with ESP32 on Linux.
PlatformsFreeRTOS Tutorial: Create a Hello World Application with ESP32To help others as they make their way through this process, we decided to document and release our findings as a FreeRTOS tutorial for developers. Here is how to create a Hello World application.
State of Swift WebSocketsApple delivered several exciting and innovative new APIs for developers at WWDC this year. You might have heard or read about the SwiftUI and Combine revamp, but I want to address the new world of native WebSockets! The historically complicated connection protocol is now delivered as a first class citizen! Before we dive in on how awesome this is, it's important to have a basic understanding of Sockets and the road we've traveled to reach this point. What is a socket? By definition a socket is
AWSBest Practices for Terraform AWS TagsAWS tags are key-value labels you can assign to AWS resources that give extra information about it.
Speeding Up Docker Development on the MacDocker is a helpful tool for both developers and ops. It can simplify both the development of an application as well as deployment and management of it. In this post we are going to explore a common pitfall related to developing an application in Docker on the Mac and see what we can do to mitigate the issue and work as productively as possible. Developing in Docker Developing in Docker has a number of advantages over developing directly on your Mac. Before we begin, let’s remind ourselves of a
ProcessOn Design Systems: Scope and GovernanceThe challenges discussed in this entry are specifically relevant to individuals that have roles in design leadership, product ownership, and user interface design.
PlatformsOn Design Systems: Platforms and ImplementationThe challenges discussed in this entry are specifically relevant to individuals that have roles in engineering leadership, user interface architecture, and design systems engineering.
ProcessDeploying a WebSocket Application on BeanstalkSo, you are about to build a new app and you need at least part of it to update in real-time. Well, we live in a modern world so it’s pretty common to have at least a part of the app update without requiring a user interaction or a page (re)load.
rustC++ v. Rust -Speed, Safety, & Community ComparisonIn this post, we’ll be comparing C++ with Rust, sharing our thoughts on when you should use each language, and predicting the future of C++ vs Rust.
Leveling up Your Terraform Deploys with Github CodespacesLearn how Github Codespaces can make deploys with Terraform secure, reliable, and hassle free.