When I started getting bored of the popular gaming consoles of the time (Nintendo, Super Nintendo, Sega Genesis, etc), I started playing the shareware games that my dad had downloaded from the BBS's on his computer. These were simple games, games like the original Duke Nukem (the platformer), Crystal Caves, Cosmos's Cosmic Adventure, Space Quest, Leisure Suit Larry (when my dad wasn't home
Doom was a game changer for me. Aside from the graphics (which were amazing for the time), I found the concept of multiplayer fascinating. Playing Doom with a friend over the modem, on two separate machines, located in two separate houses was the coolest thing my pre-adolescent mind could fathom...I was hooked. I spread around copies of Doom to whoever I could find that had a computer capable of playing it. In order to play Doom with others, they needed a copy. I'd use archive software like pkzip to compress and span it over multiple disks to take to school with me and give it to whoever I could. For my more tech-savvy friends, I'd send them a copy over the modem with terminal programs like QModem or QuickLink II.
Once the problem of finding other players was solved, the problem of getting it working started. This is where I started learning about things like COM ports, IRQs (and conflicts), init strings, etc. Eventually the fruits of my labor began to pay off and things started to work. I was in heaven. I'd spend as much time as my parents would let me playing games on their computer with friends. Eventually my parents got a new computer and I inherited their old one. Score!
As the games got more advanced, so did the minimum system requirements. My hand-me-down 486 with 8 megs of RAM wasn't keeping up with my gaming addiction. After a year of saving, I finally had enough money to purchse my own gaming rig: a blazing fast AMD K5 PR133 with 24 megs of RAM. Up until now I had only dealt with minor upgrades; this was the first time I'd built my own system from the ground-up. That thing blazed through Duke Nukem 3D and Quake like butter. Everything was going great. Then the Internet happened.
Not having to go through the routine of pursuading my friends why they should trade sleep for getting their asses handed to them at Doom and Quake on the weekends was liberating. Now all I had to do was get online and jump in a server that had *gasp!* more than one other person in it! Growing up, we never had a LAN setup in my house so all my multiplayer gaming was done over the modem by directly calling my friends' modem. This meant that there was always only one other person to play with (or against). Gaming over the Internet thrust me into the world of TCP/IP networking at a relatively young age. Learning about how TCP/IP networks worked (IP addresses, subnets, DNS, IP routing, etc) came as a result.
As a function of my love of working on computers (which in turn was a function of my love of gaming on them), I took a computer science class in high school to see if I might like programming. I figured that since I'd mastered the hardware side of things, I should move on to software. During my junior year of high school I took a beginner computer science class and fell in love with programming. I knew that this was the career path for me and pursued it in college and eventually ended up with a degree in the field.
Somewhere along the way I got invovled with Linux. Back then, the PC was synonymous with Microsoft. Until I was 16, I didn't even know there were alternatives to their operating systems. I found the concept of running a 'foreign', and especially free, operating system on my PC fascinating. I spent many frustrating nights trying to get even a basic graphical interface working properly. By the time I knew enough to get OpenGL and Quake III working properly on my Linux rig I felt like a certified bad ass; I had conquered the final frontier of PC gaming.
The skills that I picked up along the way were crutial in landing my first jobs in IT. At the age of 18 I was working as an EMR (Electro-Mechanical Repair) technician for Dell, a feat that was unheard of for an 18 year old still in temp-to-hire status. I had learned the skills necessary for this job building and troubleshooting my and my friends' gaming machines.
As the years increased, so did my skills and knowledge of computing. The rest, as they say, is history.
see, the value of a craftsman is in his knowledge and experience of his tools. some people spend decades learning how to use their tools and work in their trade and the time shows; experience is worth having and paying for!
Perhaps the fast-moving industry that is technology isn't for you?
No one buys an Apple watch so they can tell the time. They're buying it so they can show off something interesting and fashionable on their wrist.
Or, so you can access your phone in situations where it really isn't convenient to (such as when running, biking, working on something and your hands are filthy, etc).
WiFi tops out at 50
Maybe if the year was 2003. I've been getting near-gigabit speeds on my 802.11ac AP.
Those aren't the reasons why I currently shy away from VMWare (it sounded like he was asking more from a moral point of view, hence the answers I gave), but those reasons, plus others, prompted me to start looking for alternatives.
The biggest problems I had with VMWare back then was 1.) when they made the switch to the web-based managed interface for VMWare Server 2 (it was sluggish and very unresponsive compared to the VMWare Server 1 management console) and 2.) the lack of a mature CLI toolset for managing VMs (this was big for me because I wanted to be able to SSH into a VM server and do trivial things, like start a VM without having to get a GUI involved).
I first made the switch to VirtualBox because it was free, had a good GUI management utility (for managing local testing or development VMs), and a nice CLI utility (VBoxHeadless) for managing remote VMs on a headless server. Eventually I started running into weird performance issues with VirtualBox which prompted me to give KVM a second hard look.
I had first looked into using KVM a few years prior due to the hypervisor being built-into the standard Linux kernel, which sounded really appealing to me, but it wasn't quite ready for production use. Once KVM/libvirt became stable enough to use, I made the switch to that and I haven't looked back. It has everything I need: a rich CLI environment (virsh), a rich API for managing it at a lower level (libvirt + bindings to all the popular languages), a decent GUI that works surprisingly well over X11-forwarded sessions (virt-manager) for when it make more sense just to do things in a GUI environment, and a nice range of storage options for VMs (raw disk image files, qcow2 images, LVM logical volumes (my personal favorite), block devices, etc).
Just recently I've started playing with LXC containers. For instances where I don't need the benfits of full paravirtualization and don't mind sharing the host machine's kernel it's awesome. It performs better than paravirtualization because there's less overhead (thanks to kernel and process namespaces), and if I need to change something in the guests' filesystem I can access the files directly from the host machine, or chroot into it if I need to do something fancy.
I'll give VMWare the credit they deserve; they paved the way for paravirtualization on the x86 front in the early 2000s and for many years I was a faithful user (even fanboy) of theirs. When they had their IPO back in 2007 I bought as many shares as I could afford and advised my friends and family to do the same because I knew they were the industry leader in an industry that was exploding.
I also realize that I am not VMWare's target audience and have since moved on to tools that are more suitable for my needs.
As long as we're going to reinvent the wheel again, we might as well try making it round this time. - Mike Dennison