Synchronize Panes in Tmux

Tmux is an alternative for screen. For anyone who doesn't know screen, it is a terminal multiplexer which means, it allow multiple windows in terminal. It can split your window into multiple panes (vertical/horizontal), detach a session which can be attached at a later time. Detach/Attach is very useful for running a job in a remote server without having to keep the ssh open the whole time. 

Tmux can be configured by  ~/.tmux.conf file.
My prefix key is Ctrl-q.
Synchronizing panes:
If you want to send your keystrokes to all the panes in your tmux window: 
<prefix> :setw synchronize-panes
In my case I do:
Ctrl-q:setw synchronize-panes
This is immensely useful if you want to execute the same set of commands on multiple servers.

Coffescript - A Better Way to JS

I went to attend the URUG (Utah Ruby Users Group) meeting today because a little birdy said there will be some Javascript related presentations. 

I got to see an awesome presentation by Tad Thorley on Coffeescript. It's a minimalistic language that compiles to Javascript. Take a Javascript program and start removing unwanted literals from the syntax until you can't remove anymore, that's how a Coffeescript program looks like. 

Its the kind of minimalism that makes you appreciate the beauty of code. It combines the good parts of Python and Ruby syntax. There are some side-by-side comparisons of Coffeescript and Javascript code on the Coffeescript website.

Tad might post his slides (which are just short snippets of code) on github and I'll try to link it here.

Update: Coffee Script Presentation - https://github.com/phaedryx/coffeescript-presentation

Snowboarding @ Sundance

Just got back from Snowboarding at Sundance Ski resort. I fell down a lot less than I did during my previous times. I'm also doing a lot more toe turns which has always been an issue. I decided to try the blue slopes today which was good and bad. I got over my fear of going down the steep sections, but I also got too tired to enjoy the green sections of the run. I can tell that I'm getting a lot faster these days because the runs seem shorted (or quicker). One more season and I'll be a pro :). 

After our snowboarding session, I had a near melt down. I couldn't find my car keys in any of my jacket pockets and I don't have a spare key for that car anywhere. I checked with the lost and found with no success and I requested the security to jack the car door for me. Right when they asked me to sign some release forms and were about to insert the lever into my car window, Yoshi comes out of no where (she decided to retire after a few runs) and declares that she has the keys. It was a photo-finish ending for a great day. 

I just love the fact that my wife can save the day no matter how much I manage to screw up.

Have a Schedule

After wasting about 3 hours watching old episodes of The Office, I had a sinking feeling last night that I'm not working towards any of my life goals. 

  • Learn JS
  • Release mobile apps
  • Get better at Python
  • Do a startup or at least join one
But thanks to my thoughtful wife, I didn't freak out about it. She gave me some tangible ideas to remedy the situation (not one of those "You'll be fine"). 

So new plan:
  • Set short-term goals. 
  • Work on my stuff and report the progress every week to my buddy Vijay
This should keep me accountable and on track. To actually show some progress, I'm going to fix my schedule and follow Seinfield's Productivity Technique.
  • Tue (6-9)
  • Wed (6-9) - bonus day
  • Thu (6-9)
  • Sat (5-9)
  • Sun (1-5)
Phew! crisis averted. Now back to work.

Leaders are genuine

I had a chance to watch one of my role models in action today. He is one of the young, intelligent managers who rose to the top of the ladder pretty quickly. He managed to do that without creating enemies along the way which is pretty hard to do in big corporations. Everyone who has worked with him will attest to the fact that he deserves to be in the top and has nothing bad to say about him. 

Unfortunately I never got a chance to work directly with him, but watching him today made me realize why he is different from the other managers. It all came down to being truthful. Just being genuine to your fellow workers can mean a world of difference. When he tries to inspire someone, he is not the one to throw around some business lingo. He doesn't just say "We really appreciate all the work you are doing" or "Keep up the good work". That is just a terrible compliment. When he praises you for something, you know he really appreciates your work.

One lesson I learned from him today is "Be Genuine", and I shall try.