Essentially you can blow off some steam here about your day to day tech troubles. :)
I wonder if there is a site or product out there that lets me help others with X technology and I some sort of karma/credit and other people can help me with some tech they know really well. Maybe I should build it :)
In older times, tradespeople literally got a live-in servant for the trouble of teaching them, but other than college tuition I haven't heard of a good compensation model for mentors.
Know your domain tools and always be looking for new (to you) ones. If you're new and in the linux sysadmin domain, you'll be doing a lot of "oh wow, I didn't know about XYZ". Find the old stuff that's been around forever (and likely installed everywhere) before jumping on the new hotness that'll require big changes to your systems to install. I like HN for some of this. Read the comments for the 'vim/tmux/bash/cron/git guide' entries that get reposted every few weeks. I guarantee somewhere in the comments, you'll find something you didn't know that'll help.
Scripting tedious tasks is huge. Learning the bits of shell/perl/python/ruby/whatever that interact with the tasks you do day-to-day can be very beneficial. Automate all the things.
I agree with other people that you can mitigate the pain of bad management by doing things like 1) Write high quality code from day one 2) Automating deployment 3) Minimizing technical debt 4) Doing "spike" when asked to do something new so you don't give a bad estimate.
http://programmers.stackexchange.com/questions/122014/what-a...
So I guess your biggest frustration is not being able to use Linux? Meeting reminders is a poor excuse to not do it. Come on :-)
You'll have exchange setup on Thunderbird with email & calendar.
They recommend using Pidgin for a lync replacement, but I use Sky. And then the address book might require saying you have a mac (to your it department) and getting some specific info or dsquery'ing of your current working windows desktop.
To use internet explorer for your 1 or 2 admin applications just dual boot so that you can always use windows in a pinch.
All this is so behind the times the waste of time and money is appalling.
you don't have to practice TDD, but it is a fantastic idea to add automated tests early on when the architecture of your system is still fresh and changeable.
projects that don't consider "testability" as a requirement tend to produce system architectures that are not testable.
i assume by "orthogonal" you mean independent, i.e. just because a system is testable it does not mean it necessarily has other desirable properties.
Managing SSH keys, and Passwords