Issue #28: 10 Reads, A Handcrafted Weekly Newsletter For Software Developers


The time to read this newsletter is 175 minutes.

Good friends, good books, and a sleepy conscience: this is the ideal life – Mark Twain

  1. Defining a Distinguished Engineer: 15 mins read. I agree with everything Jessi wrote on qualities of a distinguished engineer. Junior engineers imitate what senior engineers do. So, it is important for senior engineers to showcase right qualities. Out of the many qualities mentioned in the post the one’s that I value the most are:
    1. Value learning
    2. Empower others
    3. Give constructive criticism
    4. Humility and empathy
    5. Value quality, performance, and security
    6. Value research
  2. Endlessh: an SSH Tarpit: 20 mins read. This is the first time I have heard about tarpit. Tarpit is a network service that intentionally inserts delays in its protocol, slowing down clients by forcing them to wait. The post author shares a 10 line python script that one can use to build an SSH tarpit.
  3. Redefining application communications with AWS App Mesh: 15 mins read. This post by Werner Vogels goes into new AWS service called AWS App Mesh. AWS App Mesh provides many capabilities such as service discovery, application level metrics and logs, traces to debug traffic patterns, and ability to secure communication between services. It is built on top of Envoy proxy. AWS App Mesh looks like a commercial version of open source Istio service mesh. Interesting thing to note about AWS App Mesh is that it works with all AWS compute services like EC2, ECS, EKS.
  4. Is AWS ready to provide serverless WebSockets at scale?: 15 mins read. A good detailed post comparing AWS App Sync and AWS API Gateway for web sockets. There is a lot to learn from this post. For me the key learning point is how author did a in-depth comparison of two services. This is the kind of detailed analysis we need to do when we choose technologies for our projects. Rather than going with the hype, understand your requirements, read the service documentation, run some experiments and then decide the technology.
  5. How to build your own CDN with Kubernetes: 20 mins read. This is detailed post on how you can build your own Content Delivery Network using Kubernetes. I don’t think it make sense for most organisations to build their own CDN but it is always good to know how you can build your own using reusable components.
  6. Software Won’t Fix Boeing’s ‘Faulty’ Airframe: 20 mins read. Boeing responded with what it claimed was an upgraded version of its workhorse 737 equipped with a larger CFM LEAP engine providing longer range and greater fuel efficiency. The larger engines required Boeing engineers to place them far ahead of the wing leading edge to achieve ground clearance.
  7. Speeding up Group BY in PostgreSQL: 5 mins read. If you are grouping by many different columns: Take the ones containing more distinct values first and group by the less frequent values later. It will make the hash aggregate run more efficiently in many cases. Also try to make sure that work_mem is high enough to make PostgreSQL trigger a hash aggregate in the first place.
  8. Inside a SoundCloud Microservice: 20 mins read. This is an old post but there is a lot to learn from it. The post talks about how to deal with service communication. The code examples in this post use Scala.
  9. Learning to operate Kubernetes reliably: 30 mins read. A lot of useful advice packed in one blog. Read this blog if you are planning to run Kubernetes in your organisation.
  10. How to Stay Productive With An Irregular (Even Unpredictable) Schedule: 15 mins read. In the post author suggests three tactics to help build a routine. These are:
    1. Build Routine Around The Non-Work Parts Of Your Day
    2. Create Structure Around Work
    3. Remember Your Routine Is Yours

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s