Recently, a few different issues related to HTTP caching all came up around the same time. chrIn this post I'll discuss two of the issues that arose, covering their impact, root cause, and remediation.| Angle of Attack
The Engineering Blog from FlightAware| Angle of Attack
Jason Chung, our intern for this summer, had the privilege of working with our Systems crew on an amazing project that leveraged machine learning as a tool to build comprehensive software manifests for a given server in our network.| Angle of Attack
FlightAware uses multiple technologies to provide industry leading flight tracking. One of the key ways this is achieved is through our network of aviation enthusiasts. These volunteers grow our ADS-B network| Angle of Attack
There are a lot of assumptions one could make when designing data types and schemas for aviation data that turn out to be inaccurate. In the spirit of Patrick McKenzie’s classic piece on names, here are some false assumptions one might make about aviation.| Angle of Attack
In Part I, we talked about mocking some of our functionality using pgxmock. This version of the article replaces the manual mocking approach with mockery, a tool that automates the generation of mocks.| Angle of Attack
Unified Feed is a Firehose offering that provides global flight tracking coverage with both airborne and surface positions. This post discusses the motivation for the creation Unified Feed along with technical details behind how it is generated.| Angle of Attack
This month, Sales is contributing to Angle of Attack in partnership with Engineering! Come learn how our teams provide accessible, reliable documentation to our users.| Angle of Attack
Some of the most important decisions we make at FlightAware are deciding who will become part of our company, team, and culture. In this post, our Senior Software Engineer & Manager, Jonathan Cone, describes our interview process & what we look for in a candidate.| Angle of Attack
In this blog post, we’ll provide an account of the problems that motivated FlightAware to adopt Nix and how we’ve used Nix to solve them at scale.| Angle of Attack
FlightAware Aviator is a subscription offering aimed at piston engine aircraft owners and operators that unlocks a wide range of powerful flight tracking and planning features for a small fleet of registered aircraft.| Angle of Attack
At FlightAware, we always lean toward being open instead of closed. It helps to keep us open-minded, open to new ideas, new opportunities. When it comes to programming languages, that means we are willing to experiment with, evaluate, and, when appropriate, adopt new languages into our repertoire.| Angle of Attack
Explore how our FlightAware Mobile crew configures CI/CD to our iOS release process to make the delivery of the mobile app a high-quality app.| Angle of Attack
This post introduces our historical hf_regression_tests, describes the motivation for migration to the cloud, provides high-level, dynamic views of Redeye, and discusses the pros and cons of Redeye.| Angle of Attack
Insights into how FlightAware’s product team uses data to drive better decision making when there are a million things to do.| Angle of Attack
Our journey to evolve Firehose into a high-performance socket streaming API.| Angle of Attack
Take lessons from high stakes monitoring in the physical world (electrical grids, nuclear power plants, oil rigs, data centers) and apply them to a pure software stack.| Angle of Attack
In this post, we explore some of the tradeoffs of performance optimization and where to draw the line in the never-ending quest for speedy code.| Angle of Attack
A deep dive into how the FlightAware Engineering team designed their Directed Training Program, a tailored leadership training initiative.| Angle of Attack
FlightAware examines what we learned designing CI/CD with Jenkins Pipeline as we deployed a new application.| Angle of Attack
The evolution of systems monitoring technology decisions and practices for multi-machine Hyperfeed and predictive technology.| Angle of Attack
In this post, we’ll take a quick look at what SRE is, why we chose to go in this direction, and how this journey has changed our incident response processes for the better.| Angle of Attack
Straying from the beaten path of map tiling in search of better performance.| Angle of Attack
Our journey of bringing machine learning at scale to predictive flight arrival times in Foresight ETAs.| Angle of Attack
This blog post was originally published in November 2024. We’re publishing it again now because we thought it would be helpful to highlight how and why our iOS map component leverages Apple’s MapKit framework and Apple’s base map tiles as part of the overall solution.| Angle of Attack
As FlightAware moves away from its monolithic Tcl tech stack to a distributed micro service architecture, many core services need to be split out from the monolith to keep the system running.| Angle of Attack
In this blog post, I’m going to be describing several of the ways that the flight page, on the FlightAware website, displays data, as well as the testing perspective on that specific view of the flight page.| Angle of Attack
At FlightAware, one of our key priorities is to consistently deliver high-quality software. We are committed to maintaining and continuously improving product quality, benefiting both our customers and engineering teams. Test automation is crucial in achieving this goal.|
Earlier this year, we released a rewritten map component for our iOS app. This blog post will cover some of the design choices we made for the new map and lessons we learned along the way.|
Much of FlightAware is implemented in a scripting language called Tcl, which has served us well since our inception nearly two decades ago. But looking around at today’s software ecosystem, it’s difficult to claim that Tcl will continue to be the best choice for our needs in the future.|
This summer, FlightAware welcomed five interns from various parts of the country. These interns worked closely with our engineering team on their projects, achieving remarkable results.|
Our 2024 interns are hard at work on their final projects this month. We will post about them soon, but in the meantime, let's look back at the amazing 2023 interns in this blast from the past!!| Angle of Attack
This blog post explains how users traditionally set up Wi-Fi on our ADS-B receivers and how we leveraged Bluetooth Low Energy (BLE) to simplify and modernize the setup process.| Angle of Attack
One key strategy we’ve implemented as part of our broader technological transformation is a monorepository architecture for new applications and libraries.| Angle of Attack
Managing multiple versions of an app is crucial to ensure that users have a smooth experience and that the app functions on different platforms.| Angle of Attack
I recently ran into a surprisingly tricky issue around deleting stale Docker image tags to keep our private Docker registry tidy. I ended up doing more research than expected, and I wanted to share some of my findings.| Angle of Attack
An updated inside-look into our worldwide network of ADS-B ground stations.| Angle of Attack
Go is one of FlightAware’s four core programming languages. Since FlightAware needs a performant solution for delivering massive amounts of data, Go is a great choice. This blog will focus on a mocking technique for effective unit testing in Go.|
This is post is about FlightAware’s shift away from TCL and the journey we took to get there.| Angle of Attack
Since I wrote the two posts concerned with growing leaders in the FlightAware organization, a number of things have changed, two of which are that FlightAware fully embraced remote work and was also acquired by Collins Aerospace. These things had a couple effects on the course.| Angle of Attack
Encryption is all around us. But how do these technologies work? Keep reading my dear reader, and you will uncover the deep mysteries and arcane knowledge of critical components of our online (and offline!) internet infrastructure.| Angle of Attack
FlightAware's yearly hackathons are a fun diversion from usual work where we can focus on just making something cool. They're also an opportunity to vie for dominance on the battlefield of public opinion! Coolest project wins.| Angle of Attack
Every year, our interns spend the summer working on interesting and meaningful projects that help them learn how to work on a professional team and help us solve problems across our business. We were excited and hope you enjoy this final post in our series.| Angle of Attack
We are excited to share the second project in our series showcasing the work from our class of Summer 2023 interns. Our summer internships aren't limited to just software engineering. This week, we will take a look at a project done on our Site Reliability Engineering team.| Angle of Attack
This summer, we had 5 students from across the country join FlightAware as interns. We invite you to see the results of their hard work, as we highlight the interns and their projects over the next few weeks.| Angle of Attack
In the 18 years since FlightAware was founded, the amount of data informing every aspect of our lives has grown dramatically, and our modern stories are often woven together with numbers and code as much as they are with words and pictures.| Angle of Attack
Joining a new company brings opportunities to work on new projects, meet new colleagues, learn the company culture, and navigate its unique processes.| Angle of Attack
FlightAware’s Predictive Technologies team is responsible for training and serving machine learning models to predict key flight elements. Our primary product is ETA predictions – en-route landing time (ON) and gate arrival time (IN) predictions| Angle of Attack
Each Summer during our town hall week, FlightAware engineers participate in our annual Hackathon. During the Hackathon, we take a break from our normal work to play around with technology, have some fun, compete against each other, and try to hack something amazing together.| Angle of Attack
FlightAware's summer intern program offers a number of benefits for both the company and the interns involved. For FlightAware, the program allows us to identify and recruit top talent, as well as gain fresh perspectives and insights from the next generation of engineers.| Angle of Attack
Most opportunities for automation are discovered during day-to-day activity and recognizing repetitive processes. The FlightAware Desktop team is always looking for ways to improve processes, including automating repetitive tasks to reduce human error and to save time.| Angle of Attack
Most of the posts on the Angle of Attack blog look to the past, but this post takes a different approach, as it speaks more to what FlightAware will do rather than what it has done. It will give readers some insight into how significant technical decisions are made at FlightAware.| Angle of Attack
FlightAware’s picture of global flight activity emerges by fusing together information from dozens of disparate data sources.| Angle of Attack
AeroAPI is FlightAware's query-based API, allowing customers access to FlightAware's vast array of flight and related data.| Angle of Attack
In this blog post, engineers from FlightAware’s ADS-B team discuss the hardware and software architecture of the software defined radio that powers our ADS-B receivers.| Angle of Attack
Blast from the past: We invite you to get to know our Summer 2022 Interns and what they accomplished over each of their internships.| Angle of Attack
An inside-look into our worldwide network of ADS-B ground stations.| Angle of Attack
In this post, we’ll describe how we train the machine learning models that power FlightAware Foresight’s ETA predictions, the infrastructural challenges of training models at scale, and how we’ve addressed those challenges using Argo and Kubernetes.| Angle of Attack
This is the first in a series of posts about growing the future leaders of FlightAware.| Angle of Attack
This post is the first in a series telling the story of how we evolved our organization to enable growth, foster individuals’ personal career development, and of course, build great things.| Angle of Attack