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

The time to read this newsletter is 165 minutes.

If we encounter a man of rare intellect, we should ask him what books he reads. – Ralph Waldo Emerson

  1. Why Founders Should Start With a Website, Not a Mobile App: 15 mins read. This post gives strong reasons why founders should start with a website, not a mobile app. The key points in this post are:
    • Mobile users spend most of their time in top 5 apps. On the other hand, users time is equally distributed on many websites.
    • The App Store and Google Play’s approvers reject app submissions more often, especially from unknown startups they don’t have a relationship with. Every time a native app developer pushes an update, they risk delays and setbacks due to review requirements.
    • No one wants to download apps anymore. The barrier to convincing someone to try your product is a lot higher for an app than a website. URLs can be easily shared and show up in Google search, and new users don’t need to install a software package that takes up space on their phone.
    • Building an iOS or Android app means you’ll have to give Apple or Google a substantial cut of in-app purchase and subscriptions (generally 30%). In contrast, Stripe only takes roughly 3% of the payments we collect on our website.
  2. mkcert: Valid HTTPS Certificates for Localhost: 10 mins read. This post covers a new tool by a Google employee to create valid HTTPS certificates for localhost. The tool is easy to use. I used mkcert to create localhost certificates for Java Spring boot application. I documented my experience in a post that you can read here.
  3. Software Engineering at Google: 30 mins read. This is a 20 page paper written by one of the Google’s 10x engineer. He talks about 11 engineering practices used at Google.
  4. How to Choose a Startup to Work For by Thinking Like An Investor: 15 mins read.This is the post you should read if you are planning to join a startup. The author shares a mental model that you can use to evaluate a startup. For me the key points in this post are:
    • Ask questions that help you understand trajectory of the startup. For example, A startup with 1 million dollar in monthly revenue which has been flat for the past year is less exciting than one with 100,000 dollar in monthly revenue that was at $0 six months ago.
    • Meet the founders together and gauge how comfortable they are with each other. Find who key decision makers are.
    • Understand the process of decision making at the startup
    • Ask the founders which assumptions they made initially turned out to be wrong
    • If you are hired then meet one of the team members for a coffee before joining and understand the internals of the company by asking difficult questions like what are the biggest weaknesses of the founders?
  5. Bye bye Mongo, Hello Postgres: 25 mins read. This is a detailed post by folks at Guardian. They talked in a step by step manner how they migrated from MongoDB to PostgreSQL. The key points for me in the post are:
    • Mongo does not provide automation scripts to run a managed cluster on AWS.
    • Guardian had multiple outages because of MongoDB. Mongo support was not able to resolve the problems.
    • Postgres with its JSONB data type can be used to replace Mongo
    • Guardian uses Scala as the primary language for software development. doobie is a purely functional JDBC layer. (I need to give it a try)
    • There are tools like goreplay that you can use to forward API calls from one system to another. This can be used to test your new system along side old system with the real traffic.
  6. How We Massively Reduced Our AWS Lambda Bill With Go: 10 mins read. This post by folks at RunBook shares how they were able to reduce their AWS lambda bill. The key point in the post is that you should know when to break best practices. It is often preached that Serverless functions should almost always be a single thread, single task. As shared in the post, by moving to monolithic lambda functions and using Go Routines RunBook team was able to significantly reduce AWS bill.
  7. Why does decentralization matter?: 10 mins read.Please go over this post. It will make you more educated on why decentralization is need of the hour. The post gives worthy reasons why we should adopt decentralized social network. For me key points in the post are:
    • Decentralization upends the social network business model by dramatically reducing operating costs. As the entry cost is near zero, an operator of a Mastodon server does not need to seek venture capital, which would pressure them to use large-scale monetization schemes.
    • The interests of the company and the user are at odds with each other, from which the old adage comes that if you are not paying, you are the product.
    • A decentralized network is also more resilient to censorship
    • Decentralization is about fixing power asymmetry.
  8. How Fortnite approaches analytics, cloud to analyze petabytes of game data: 10 mins read. The key point in the post is the use of AWS S3 as data lake and spark for real time processing of data. Fortnite processes 92 million events a minute and sees its data grow 2 petabytes a month. The company invited 125 million people to participate at the same time. Akamai said Fortnite set a game traffic record on its network July 12 with 37 terabytes per second delivered across its platform. Everything is stored in AWS S3. It’s a real-time pipeline that integrates everything from S3 to Spark to scores to telemetry data to Tableau and SQL.
  9. Paper review. Serverless computing: One step forward, two steps back: 20 mins read. This post gives good summary of the paper – Serverless computing: One step forward, two steps forward. The paper talks about four main limitations of current FaaS offerings – 1) Limited lifetime 2) I/O bottleneck 3) Communication through slow storage 4) No specialised hardware. As per the paper, the main step forward for FaaS is autoscaling. The workload automatically drives the allocation and deallocation of resources. The two steps backward for FaaS is 1) Ignore the importance of efficient data processing 2) Stymie the development of distributed systems.
  10. Want To Be Happier This Year? Follow This 2019 Productive Habits Calendar: 20 mins read.This is a long post on how you can introduce one small habit each month and make a big impact in your life. I like the idea of choosing a theme for a year. Not because of this blog but I also picked a couple of technologies that I will master this year. Becoming mindful of what you want to do for a year bring clarity and calmness of mind.

The video that you can watch this week – Are we there yet? By Rich Hickey



Leave a Reply

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

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

Facebook photo

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

Connecting to %s

%d bloggers like this: