Configuring GitLab for SSL

As discussed in the previous guide, we used Let’s Encrypt to get legitimate SSL certificates for valid, external domains, and then mapped all of it internally to our own locally-hosted services via DNS. And of course, everything that needs to be maintained periodically is completely automated — a well-oiled machine.

Using Let’s Encrypt for SSL, Internally

If you’re unfamiliar, Let’s Encrypt allows you to register multiple domains and subdomains to get a valid SSL certificate (i.e., valid as in signed by a trusted third party Certificate Authority, CA) for encrypting your services. They also provide a utility for persistently maintaining the registration over time so that your certificates are always valid.

Modular Firmware IP Best Practices

Due to long development cycles (and short schedules!), firmware designers often struggle to generate modular intellecutal property (IP) that is reusable between applications. Modularity relies heavily upon parameterization which can be a difficult challenge in firmware design. Instead of a single IDE with an integrated compiler, parameters are scattered across HDL design files, modeling tools (MATLAB/Octave/Python), vendor tools (Vivado/Quartus/Libero), and simulation tools (QuestaSim/Cadence). The modification of these parameters must be synchronized when reusing IP.

Property Level Security Using Edges

I work on a project, which is essentially just another recommendation engine. The data behind the engine also needs to be protected on the property level. Neo4j doesn’t natively support property level security so we had to come up with our own implementation of property level security. Requirements Restrict per user the data that is […]