Tag: Software engineering
-
Lessons from writing a compiler
Posted on July 8, 2022, Level advanced Resource Length long
The standard academic literature is most useful for the extreme frontend (parsing) and the extreme backend (SSA, instruction selection and code generation), but the middle-end is ignored. This is fine if you want to learn how to build, e.g., the next LLVM: a fat backend with a very thin frontend. By Fernando Borretti.
Tags miscellaneous software-engineering product-and-design data-and-analytics
-
Linked Lists explained in PHP
Posted on July 1, 2022, Level intermediate Resource Length medium
As one of the most common data structures, the linked list has to be one of the simplest in concept; yet still very powerful. In this post we will be looking at what linked lists are; what types of linked lists there are; when to use a linked list; and whether or why a linked list might be better than an array. By Doeke Norg.
Tags backend-development frontend-and-mobile leadership-and-career product-and-design software-engineering
-
Create a blog with Clojure, nbb, and MarkDoc
Posted on June 29, 2022, Level beginner Resource Length long
This endeavor is my first adventure with Clojure(script). Meaning this is from a Clojure beginner perspective. By Alexander Carls.
Tags software-engineering frontend-and-mobile product-and-design
-
Securing Kafka infrastructure at Uber
Posted on June 27, 2022, Level intermediate Resource Length medium
Uber has one of the largest deployments of Apache Kafka® in the world. It empowers a large number of real-time workflows at Uber, including pub-sub message buses for passing event data from the rider and driver apps, as well as financial transaction events between the backend services. By Prateek Agarwal, Ryan Turner, and KK Sriramadhesikan.
Tags architecture-and-apis security-and-privacy devops-and-ci-cd software-engineering data-and-analytics
-
Lessons learned from combining SQS and Lambda in a data project
Posted on June 26, 2022, Level intermediate Resource Length medium
The built-in functionality of SQS and Lambda provided us serverless, scalable and fault-tolerant basis, but while running the solution we also learned some important lessons. In this blog post I will discuss the issue of valid messages ending up in dead-letter queues (DLQ) and correctly configuring your DLQ to catch only erroneous messages from your source SQS queue. By Miia Niemelä.
Tags architecture-and-apis ai-and-machine-learning software-engineering data-and-analytics
-
Automating AWS IAM remediation in Python
Posted on June 20, 2022, Level advanced Resource Length long
Since automating IAM remediation requires recurring parsing of JSON documents, modulating your parsing function(s) will save you time as you work on each control. If you have controls that pertain to trust policies, you will need a separate function to parse those out since the format differs from that of permission policies. By Cody Bench.
Tags backend-development product-and-design security-and-privacy software-engineering leadership-and-career
-
Introduction to Linear Programming in Python
Posted on June 19, 2022, Level intermediate Resource Length medium
A guide to mathematical optimization with Google OR-Tools. Linear programming is a technique to optimize any problem with multiple variables and constraints. It's a simple but powerful tool every data scientist should master. By Maxime Labonne.
Tags backend-development product-and-design software-engineering cloud-and-infrastructure
-
New superconductors could make faster Quantum computers
Posted on June 17, 2022, Level beginner Resource Length medium
Practical quantum computers could soon arrive with profound implications for everything from drug discovery to code-breaking. By Sascha Brodsky.
Tags software-engineering leadership-and-career product-and-design miscellaneous architecture-and-apis
-
Don't mix refactorings with behavior changes
Posted on June 16, 2022, Level intermediate Resource Length medium
Probably the biggest reason not to mix refactorings with behavior changes is that it makes it too easy to make a mistake. By Jason Swett.
Tags software-engineering product-and-design devops-and-ci-cd
-
Ten best practices for refactoring code
Posted on June 15, 2022, Level intermediate Resource Length medium
As software developers, we are constantly faced with the need to improve and optimize our code. Whether it's for performance, readability, or maintainability, refactoring code is an essential skill. By Tomek Skupiński.
Tags frontend-and-mobile product-and-design software-engineering
-
Blockchain scalability: Execution, storage, and consensus
Posted on June 10, 2022, Level intermediate Resource Length medium
Trust minimization is a valuable security property that blockchain technology is uniquely positioned to generate—replacing handshakes, brand reputation, and paper contracts with guarantees based on computer code, cryptography, and decentralized consensus. These superior guarantees provided by blockchains form the basis of cryptographic truth. By chain.link.
Tags cloud-and-infrastructure business-and-emerging-tech leadership-and-career software-engineering data-and-analytics
-
Stacks vs. Solana vs. Polygon: How do they compare from a developer perspective?
Posted on May 31, 2022, Level beginner Resource Length long
What's the best blockchain for building Web3 applications? It depends on what you want to prioritize across the blockchain trilemma. The trilemma argues that blockchains can only provide two of the three properties of decentralization, security, and scalability, and that no matter where you build, you'll be making a tradeoff. By Joe Bender.
Tags business-and-emerging-tech cloud-and-infrastructure how-to miscellaneous software-engineering