This is a great video that explains importance of developer testing in writing robust distributed system. She talked about unit testing, integration testing, and verification language that can be used to verify a system. Unit testing is the first thing a developer can do to make sure distributed system is correct. She shared a number of anecdotes in the talk that make this talk easy to understand.
One of the best talks on SOLID design principles and OO design that I have watched recently. This talk is 4 years old but more relevant today as many programmers are trying to follow functional programming bandwagon without understanding what they are getting into. One of the best advice speaker gave is to use OO at the outside boundary of your system and FP in the inside where you are doing data transformation and processing. A lot of good literature exists on OO design so let’s make read it and try to first do OO right.
This talk by Bret Victor is an eye opener. It was delivered by Bret in 2013. He gave this talk assuming we are in 1973 and then talked about how future of programming will look like in 2013. He talked about various CS discoveries and programming approaches people were trying during 1960 and 1970 era. At that time, nobody new what is correct way to program so they were experimenting with many different approaches. Nobody was fixated on one right approach so different approaches were tried.
This is a very good talk where Alan Kay talks about what’s wrong with current OOPS languages and how he envisioned object oriented. For those who don’t know, Alan Kay coined Object Oriented Programming term. He is also one the guys who designed Smalltalk. There are many awesome ideas shared in this talk. I liked the quote below:
The part of message of OOP was that as complexity start becoming more and more important architecture is always going to dominate material.
Today, I watched DockerCon 2017 talk on Container Performance Analysis. Talk is given by Brendan Gregg, Senior Performance Architect at Netflix. In his talk, he shares various linux tools that can help you understand performance of your container platform. It is a great talk for anyone trying to do performance analysis of containers. In one of his slides, he shared 10 tools that he will use to start the investigation.
- uptime to check load averages
- dmesg | tail to check kernel errors
- vmstat 1 to see overall stats by time
- mpstat -P ALL 1 to check CPU balance
- pidstat 1 to check process usage
- iostat -xz 1 to disk I/O
- free -m to check memory usage
- sar -n DEV 1 to check network I/O
- sar -n TCP, ETCP 1 to view TCP stats
- top for overview
Today, I watched talk Alpaca Static Type Checking on the Beam. alpaca-lang is a statically typed functional programming language inspired by ML family of languages for the Erlang VM. It has strong type inference based on Hindley-Milner type system. Type checker will disallow adding String to an Integer. It looks like an interesting language. Continue reading “Talk: Alpaca Static Typing On The Beam”