My past rash of posts have mostly focused on hardware, servers, linux and other related devices and I'm glad to say, I'm heading back into development. Granted, its VB but its development. So what have I learned in my nearly 6 month absence? Quite a few things, some of which will change my approach on a variety of things.
0. Doing lists of things is cool. I like lists. I like sites that give me lists. It gives me a clear beginning and end but also limits the amount of content for each point. I don't have to explain in great detail how I get to the point, it's already spelled out and I can get to explaining it.
1. Outages suck on any platform. Windows, Linux, don't matter. When the system goes down, regardless of the reason, its always like cockroaches when the lights turn on -- everyone darts around wildly until someone gets an answer ...or the lights go out.
2. If you know nothing about linux, doing everything is near impossible without someone who does or one uber well written book or ...ten. Forums, web sites, etc are not very effective when you want to know how to do something linux. There are rare exceptions to this (Nagios website is _very_ nicely documented for instance), but an overwhelming majority of them assume you already know 99% of the problem or issue you are searching for - worse, it doesn't get better when you do have a specific problem. There's so many distros, code bases, dependencies, etc you might as well be kicked out into the Congo with a bag full of money and t-bone steaks pinned to your body.
3. Few Linux admins understand anything about Windows, other than they don't like it. Yes, this is a bold statement, but I've found compounding evidence that it is true. Opinions run rampant and a common approach is "if I don't understand it, it must be doing it wrong" -- which is a total setup for failure. I've learned how to make linux do things ...why can't linux admins do the same in windows? The arguments of changing things, seeing things and modifying every little aspect is completely, utterly a lack of an ability to understand and drive to FIND how one OS does something and 99.999% of the time is unnecessary.
4. The art of asking the right question is still solid gold. See #2. Being able to ask those who have a good idea of how it works is great, knowing how to ask them the right question to get an answer is best. Ask your questions carefully and fully. Listen a lot, speak less.
5. Things that are simple in windows are not in linux. I don't care if every linux admin on the planet says otherwise, it's simply not true. Compiling code, making then making installs is the most bass akwards way of getting something to work that I have ever seen. If I download something and run it, I expect it to install. Linux does not do this very well. Further, the code you download, build and install may not work on the next version of OS or another distro. I won't have to worry about this as much with windows applications ...they typically tell you that up front.
6. Once setup, linux services are easier to replicate than in windows. It might be a pain to get up and running at first, but once its setup -- copy paste that conf file out and you can clone it just about anywhere, quickly and easily and you can do it with just about anything. Windows, that's not always the case.
7. The configuration process is nearly identical for every service in linux. Most services come with a /etc/<service>, /etc/<service>.conf where most of the action occurs. Lots of services are setup this way. Some of them have a check config command of some kind so you can test it before you punt it out there. Also, some of it will hot-replace one instance with another without killing people using your system. Now that's kinda cool.
8. A linux OS version 5 and version 5.3 could mean months ...or years have passed between them. We have been using CentOS 4.4 and 5.0 - current version is 5.3. At first glance, assumption could be that it's only a minor revision from 5 to 5.3. Later I found out it's been 3 years between them, 4.4 was 5+ years. Minor revision numbers aren't.
9. Admins are ignored as much as Devs. Tangent story time. The Army core of engineers told the city of New Orleans years ago that, at best, it was DESIGNED to withstand a category 3 hurricane. When a category 5 hit, everyone when into an uproar that it, the levy, failed. No, wrong, it exceeded its tolerance and therefore should not have been expected to withstand that level of force at all. It's like taking a common home and building it to 20 stories and wondering why the foundation fell apart. The warnings of devs and admins are ignored ...until the category 5 hits. Then its "oh wow, this works so much better". Yep, tried to warn ya!
10. Free versions of stuff still kinda suck. VMware 2, CentOS, and don't get me started about the bajillion other items within the app itself -- a lot of these things suck. No support, spotty "community" following (much less help), limitations because after all, they want you to pay for the big boy version, makes these things not so great. If you want the real toys, pony up and pay for it. Trail versions still suck more, but free has its drawbacks. Cept for nagios ...I'm a fan of nagios ...and PNP4Nagios. Both are free and ain't that bad. Needs a better gui though.
11. Mind stretching is rewarding the most when it's something you know nothing about. Going into this I knew how to download linux ...sometimes and knew next to nothing about it. Now I've got SVN on a home server just for kicks along with it doing some other random junk "just because I can". It's equally nice to know I can do it again whenever and it wasn't a fluke.
To wrap things up - am I a fan of linux? No. Between rpms, dependencies, compiling code that isn't mine, sudo-ing and other silliness (did you know root can be called reut?), it isn't my first choice. Does it have a place? Sure. I would use linux at home to monitor sensors all over my house but I wouldn't use it in something that requires a living application, by that I mean something that's going to move constantly and change it's "shape". It was interesting to work on and downright annoying at others, but I'm glad I did - "it's just another club in the bag".