Sunday, February 09, 2020

Ubuntu 19.10 on T490

I got a Lenovo thinkpad T490 in November 2019. It came with windows 10 home, 8GB built-in (soldered to board) RAM and 256 GB SSD with i5-8265u CPU (1.6GHz) quad core. Display size is 14" (1080p). Thinkpads are known for their excellent keyboard and i wanted to get a laptop with a good keyboard for mostly coding and personal learning (taking notes and practicing as a i learn something new). I got a macbook pro in 2015 and it still serves me well but it is a 15" macbook pro which is heavy to carry around. The T490 weighs about 3lbs and is pretty sleek.

I got a 1TB SSD and 16GB of RAM to upgrade the laptop. There is only one SSD slot so i had to replace the 256GB SSD with 1TB one. There is one external RAM slot and it had nothing on it so i added the 16GB RAM to it thus making total of 24GB RAM. Then i installed Ubuntu 19.10 (the latest as of that time) and instalation was a breeze. With the upgraded hardware, Ubuntu works very well.

I have since been using this as my main laptop at home. For taking any notes i find onlyoffice a great free alternative to MS Word. Other developer tools i use are terminator primarily for running kubectl, docker, vi, git etc. For IDE, i use intellij or pyCharm or VS Code.

On the downside, battery life is not so great with Ubuntu and gives a 2-3 hrs of run time only (though i have read that battery life is much better with Windows 10 so it is more of an integration issue with Ubuntu). Also i have not setup fingerprint reader with Ubuntu but it did not work out of the box post install.

Friday, January 17, 2020

FIRST Tech Challenge Season 2020

Rushil has been part of SkyRise Robotics FIRST Tech Challenge (FTC) team (# 16525) since last year. We started our journey in 2019 June. I was looking to have him join a team but could not find one nearby so with the co-operation of some like-minded parents in our community we formed a team of 8 kids comprising of 7th and 8th graders. The minimum grade to qualify for participating in FTC is 7th grade.

As a pleasant surprise we found that a veteran team (Iron Eagles from St Dominic Savio School) who had been participating in FTC for several years and were actively involved in the Austin Metro League management were available to mentor our team. The school was right next doors to our community so it was convenient for us to meet the mentor team.

One of the parents in our team had extensive experience with building robots.

Due to all these favorable factors our first year in FTC has been fantastic and a memorable experience.

At the time of this writing, we have participated in 3 of Austin Metro League meets where each team gets to play 5 games per meet. We are currently preparing for our League Championship meet on 2/1/20 at Vandergrift High.

Things we learned:
  • Learned about different types of gears - spur, bevel, worm
  • Rack and pinion
  • Chain and Sprocket Drives
  • Belt and Pulley
  • Attaching arms to a motor
  • Controlling picker/claw with Servo motors
  • Motors 
    • Servo
    • 12v DC motors 
  • Sensors - Gyro
  • Cable management 
  • Different types of robot movement - Encoder based vs Time based.
Software programming:
  • Block vs Java programming
  • Operator controlled vs Autonomous mode
  • Using Android Studio IDE
  • Passing input from Logitech gamepad to Robot - Tank Drive vs Point-of-View Drive
  • Setting up WiFi Direct connection between 2 Android phones
  • Programming Mecanum Drive
  • Using PTC VuForia to detect skystones. 
CAD and 3D printing:
  • CAD Modeling using Fusion 360
  • 3D printing parts of the robot
Fundraising - conducted a class for kids in the neighborhood teaching Scratch programming for $5/kid. Had a good turnaround.

Community Outreach - conducted a session at a local library demonstrating our robot, letting kids in the library try to run it and in the meanwhile promoting FIRST mission to them and their parents.

Timeline of events:
  • Started in June 2019 - formed a team of 4, registered team with FIRST
  • By August 2019 - team size grew to 8
  • Fundraising in August 2019 
  • By September 2019 - purchased the robot kit and started building a basic Chassis
    • Attended SkyStone Season kick-off event at Vandergrift High
  • October 2019 - Built the chassis with 2 powered wheels and 2 omni-directional wheels.
    • Practiced for the first AML Meet in November
  • Austin Metro League First Meet in November 2019
    • Changed the Robot wheels to Mecanum wheels.
    • Improved the Arm picker to work more reliably.
  • AML 2nd Meet in December 2019
  • Received grant from Dell via FIRST in Texas.
  • Community outreach at Library in December 2019
  • AML 3rd Meet in January 2019
Team SkyRise with their robot at AML meet #1.

A closer look at the robot kids built.
Overall this has been a good endeavor and all the kids in the team learned several things about making the hardware, the software and working together as a team - cheering for each other and helping each other out.

I think participating in a STEAM program like FTC or FLL (and there are several others) goes a long way to kindle the fire of learning by doing - in essence it is project based learning where kids actively participate in building a robot and in the process learn about engineering, doing math and thinking scientifically and using technology (for example 3D printing) creatively. 

Wednesday, January 01, 2020

Installing single node kubernetes cluster using kind

1. Install go
2. Install docker
3. Execute:
GO111MODULE="on" go get && kind create cluster
4. Run kubectl to get the cluster status.

```kubectl get ns```

Tuesday, December 24, 2019

Book Review: The Silent Patient by Alex Michaelides

The Silent PatientThe Silent Patient by Alex Michaelides
My rating: 5 of 5 stars

A debut book by the author and a masterpiece of a work. Theo Faber is a psychotherapist and is trying to treat his patient Alicia Berenson who has gone silent after murdering her husband Gabriel. The story moves very slowly but the end is very nicely done. Highly recommended.

View all my reviews

Thursday, December 19, 2019

Shortcuts for kubectl for bashrc

alias k=kubectl
alias kp='kubectl get pods'
alias ks='kubectl get services'
alias kn='kubectl get ns'

function kexec() {
        kubectl exec $1 -it -- /bin/sh

function kdelete() {
        kubectl delete pod $1 --grace-period=0 --force
function krun() {
        kubectl run $1 --image=$2 --restart=Never --dry-run -o yaml
function kapply() {
        kubectl apply -f $1

Wednesday, December 11, 2019

Installing minikube on Ubuntu

Following are the steps for setting up minikube on Ubuntu 19.10:
1. Install KVM
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

2. Install minikube

Set default VM driver as KVM.
minikube config set vm-driver kvm2
minikube delete
minikube start

$ minikube status
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

3.  Install kubectl

$ kubectl get nodes
minikube   Ready    master   59m   v1.17.0

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:12:17Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}

4.  Install docker
sudo apt install docker
sudo apt install docker-compose

sudo groupadd docker
sudo usermod -aG docker $USER
docker run hello-world

Thursday, September 05, 2019

Book Review: What I Talk About When I Talk About Running by Haruki Murakami, Philip Gabriel (Translator)

What I Talk About When I Talk About RunningWhat I Talk About When I Talk About Running by Haruki Murakami
My rating: 5 of 5 stars

A memoir on how running became an important part of author's life. This is a short book where author recounts how he started running one fine day out of the blue when he used to be a chain smoker and decided to change his life by running every day. He stuck to the habit and ran almost 6 days a week, an hour a day, almost covering 6 miles on an average every day, thus running 36 miles a week and running almost 1900 miles a year. At the time of writing this book author has been a runner for 2 decades. There are several books on running - some are about laying out plans for beginners that they can follow like a 20 week plan for preparing for your first marathon, there are others in the same vein about cooking recipes suitable for a runner, and then some about experiences of professional runners. Most of those books have been written by authors who are not novel writers or professional story tellers. This book stands out as being written by an author who is a professional writer who has written several novels of great acclaim and who also happens to be a mature runner with enough experience under his belt to be able to tell others what worked for him or to just recount about his experiences as a runner. It is a short book and written in a way that will engage the reader. I am a beginner in running and this book was a pleasure to listen to so much so that i will be listening to it couple more times. Author's routine of running 6 days in a week may not be good for a beginner as it may tire their knees and make them more susceptible to injury and that is where i plan to go back to the books that cater to beginners and use the information on how to train from there instead. But this book serves well as a good motivator for anyone interested in running - be it a beginner or an experienced runner.

View all my reviews

Ubuntu 19.10 on T490

I got a Lenovo thinkpad T490 in November 2019. It came with windows 10 home, 8GB built-in (soldered to board) RAM and 256 GB SSD with i5-82...