I have worked for over 15 years in the technology sector and consider myself a student of idea maturation and innovation. Mainly in terms of fostering teams to create innovative approaches to problem solving. While creating a company culture that is conducive to improving upon and generating new ideas.
Some of my more recent experiences in the last few years have encouraged me to sit down and write this post regarding the things I have seen that “management” does to hinder innovation and adversely impact company moral unintentionally (of course).
Negative traditional management actions:
Lack of communication
Leaving the “troops” out of decision making
Creating a wall between management and workers
Walling off project by stake holder (producer/manager)
Pigeon holing
One of the main things I have noticed is the lack of general communication with the teams that actually do the work. You have management communicating with other management. But at the same time leaving the developers or other workers in the dark as to even the most simple knowledge in regards to the business and how well (or poorly) it is doing. I have spoken with many people who have no clue how a product is doing because they are not told. So they may make the wrong assumption and be looking for another gig when where they are is actually doing well.
I have been using an Ubuntu desktop for the last few years doing the version upgrades and having no issues to speak of with it. But I also started to notice that the system was being a bit slow with larger applications like Firefox and others. Recently I have been moving back to my roots in terms of using terminal apps over pretty GUI versions. So I decided to take on the challenge of doing my once every two years complete reinstall of my home desktop with a slant on minimalism and cleanness.
I looked at various “distributions” like Crunch Bang, Dream Linux, Arch Linux, and countless others. Yet it is somewhat of a stretch to call most of them distributions since just bundling and branding or Debian based packages. So I decided to just go to the source and roll my own. This is by far the best option for a clean minimal desktop with only what you need and will use on it.
I manage many servers in my line of work and have found a few things to make life a little easier when it comes to SSH’ing into them when I start my laptop up.The first of these is maintaining an up to date ssh config file which is kept in ~/.ssh that allows me to alias the server address and key. A basic entry in the config file would be for an Amazon Web Services EC2 instance:
Host prod-servername01
HostName ec2-184-88-888-88.compute-1.amazonaws.com
User someuser
IdentityFile /.ssh_keys/servergroup.pem
Once you have all your servers in the config file I create a very simple script to start gnome-terminal with each group of servers:
From the above example you can get the idea of adding more tabs for each additional server. I then create desktop or menu shortcuts for each grouping of server to launch a terminal and ssh into all in the group.
I tend to always need to find the huge log files that are filling up servers. One fast way is to use find and awk to list them in human readable form:
find / -type f -size +20000k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }'
Int he above example I am using find / which will search entire root filesystem. You can change this to /var/log of any path you want to find the largest files. You can also change the 20000k to a smaller or larger size (20000k = 19.53 MB).
I have been using the free 2GB Dropbox account to store my SSH keys for our servers. Along with my mutt and other configuration files. The best part of Dropbox on Linux is being able to symlink things into the Dropbox directory to allow me to have the same configurations on all the various computers I use.
Basically what I do is have a .ssh_keys directory in my main computer’s home directory which I symlink in my Dropbox directory. Then on other computers I create a:
I do the same with my .muttrc and any other configs I want to use. I even keep my wallpapers in the Dropbox folder where my awesome config file randomly loads one using:
I have found a little OpenSSH switch to be one of my best friends. If I am at a strange client network, cafe, or conference I use “-D” to make me feel warm and fuzzy all over. In OpenSSH if you use this switch you create an SSH SOCKS proxy on the port you specify. Thus encrypting your traffic to the SSH server you specify. In my case I connect to my home computer using a free DYNDNS (http://www.dyndns.com/) dynamic DNS name mapped to my home computer that stays on.
Then you simply point your browser or other programs like IM to that port (in example 6666) on localhost and you can browse from your home computer free of snooping or any potential malicious users.
Another handy tool is ProxyChains (http://proxychains.sourceforge.net/) which I know works on Linux and might compile for you Mac people too.