Supplying Values

Many software developer know about ths schism between proprietary software and open-source software. Some software developers involved with community aspects of software development know the schism between open source software and free software.

Free software is the philosophy promoted by Free Software Foundation and the GNU Project. Deep thinkers with long foresight can really identify with the philosophy, and might even proclaim that it is right one.

While agreeing to the philosophy of GNU, many developers do not say that philosophy is at the forefront of the development. They call Linux instead of GNU/Linux.

There is a new article on RMS is titled The Sorcerers Code which revisits that perennial debate. In that, I found that Linus Torvalds stance on not supplying values to people, that is keeping philosophy at the forefront.

He argues that the best way to change most people’s behavior is “not to try to mess with their value premises,” but to offer practical incentives; they’ll then self-supply new values to rationalize their new behavior.

That's an interesting thought and I would agree to that.

For Stallman, moralism is the whole point. If you write or use free software only for practical reasons, you’ll stop when it’s inconvenient, and freedom will disappear.

That's an argument,if we imbibe on the advantages of the values (openness and freedom) while it was convenient to adopt it, it would be difficult to take it away, isn't it? People wont give it up once they know the advantages of freedom and openness. Does that put convenience in adopting a value at the top for masses?

TeamCity Server on Mac

Setting up a TeamCity Server on Mac as a personal agent was very easy.

  1. Run TeamCity server
#!/bin/bash

PATH_TO_DATA_DIR=/Users/senthil/teamcity/data
PATH_TO_LOGS_DIR=/Users/senthil/teamcity/logs
PORT_HOST=8111

docker run -it --name teamcity-server-instance  \
    -v $PATH_TO_DATA_DIR:/data/teamcity_server/datadir \
    -v $PATH_TO_LOGS_DIR:/opt/teamcity/logs  \
    -p $PORT_HOST:8111 \
    jetbrains/teamcity-server

The teamcity server is accessible now at http://127.0.0.1:8111

  1. Setup a reverse proxy to access that locally.
$ cat /etc/apache2/vhosts/teamcity.local.conf
<VirtualHost *:80>
    ProxyPreserveHost On
    ServerName teamcity.local
    ProxyPass / http://127.0.0.1:8111/
    ProxyPassReverse / http://127.0.0.1:8111/
    LogLevel debug
</VirtualHost>
  1. Setup your /etc/host to point http://teamcity.local to 127.0.0.1:8111
$ cat /etc/hosts |grep teamcity
127.0.0.1   teamcity.local

Virtualbox Networking Modes

With Virtualbox you get different types of networking modes that can be useful for many purposes. This post is for quick reference for the different virtualbox networking modes.

  • Not Attached - Unplugged.
  • NAT - You get a new IP, like connecting a computer, and you can browse inside. NAT stands for Network Address Translation, which means that you will get a private IP inside the virtualbox (like a computer inside your home, office) and you are accessing the internet from host system.
  • Bridged networking - The virtual machine attaches to your physical network card and exchanges packets directly, circumventing the host operating systems network stack.
  • Internal Networking - Kind of software-based network which is visible to selected virtual machines. Not to applications running on the host or to the outside world.
  • Host-only networking - Network containing host and the set of virtual machines, without the need for the hosts physical network interface. Instead a virtual network (similar to loopback interface) is created on the host, providing connectivity among virtual machines and the host.

The Myth of a Strong Leader

"Myth of a Strong Leader" by Archie Brown is from Bill Gates book recommendation. Pause a moment and think about the title. Every now and then you will hear something saying "Strong Leader", you never hear people saying "we need a weak leader".

The book's title is that, the concept of "Strong Leader" is a myth. According to the book, an effective person works by collaboration, flexibility and never becomes a center point of decision making.

iterm2 + tmux integration

iTerm2 is the preferred terminal application for many on Mac. I had heard that it has tmux integration but never really got what it is.

Simple way to get started is

1. login to remote (this server should have tmux installed).
2. tmux -CC

That's it. You will be opening a new iTerm2 terminal locally on your mac, can split, open new tabs etc with the same connection.

This is useful.

Mastery Based Learning

In this short TED talk video, Salman Khan pitches for mastery based learning. It means that if there is a bar (say 100%) for mastery, then the variable in the learning should be how many hours one spends to attain that bar. Until the bar of 100% mastery is attained, the student should not be considered the master of the subject, and should not just move on the next class/course.

We adopted the current system because it was impractical for mastery based learning previously, but given our computational resources, mastery based learning is very much practical today.

Parkinson might start in gut

Parkinson's is not curable (yet). Folks with Parkinsons will have a progressively degenerating muscular order. But I have seen folks with Parkinsons live for very long time with only slight impairment.

It's well knowm it is a brain disorder and caused due to stress. There is a recent news (http://www.bbc.com/news/health-38173287) that it might due to bacteria in the gut. If it were due to bacteria in the gut, then the cure is near.

Doing something fast

This post http://hn.my/speed claims that doing something fast is more effective simply because it gives more opportunities to experiment, and create something new. He says, the quality should not be compromised, but pushing yourself to the boundaries and health can be compromised because, you will get better at it and you can roll back on to your zone.

I think, I agree with this.