Second, what's always fascinated me, is that these large, exaggerated gesture and touch based interfaces always seem to reduce your big inputs into something more precise, where as a mouse / keyboard interface will magnify your already precise movements into something larger.
It's a question of precision I guess. A fingertip can cover up to 30 pixels when you hit the screen with it.. A mouse can be made to hover over 1 or 2 pixels before you click it.
In a weird way I wish that this was the Bill Gates that was still leading Microsoft. I mean, in that alternate universe it certainly wouldn't be all rainbows and freedom, but at least Microsoft would be a company that I could understand. These days, I have no clue where Microsoft is going and it kind of makes me sad that they are becoming a weaker, less competent rival to their open source and corporate opposition. Ah well, It's likely better that he's taken his drive and his billions and put it towards a noble cause.
The big three all had the same or similar overall UI elements. A "start" menu, icons on the desktop, windowed applications and a task bar.
Now, we have Unity, KDE, Gnome 3, Gnome 2 forks, XFCE, the same collection of various lightweight window managers and desktop environments. Also, apparently, this.
Personally, I'm glad major players diverged significantly from the GUI elements we've all seemed to carry along from Windows 95. It is, in fact, a brave new world with touch screens and tablets. Sure it's arduous, and not cool for desktop productivity but it's only been 2 or 3 years. Maybe it will get better, or maybe some other options will become more popular. The point is, I'm glad I have something new to play around with.
And besides, it's not like you don't have choices if you liked the old way. I was a die-hard Gnome 2 fan, but now I use XFCE and I can hardly tell the difference.
2.) Something that's popular and not a niche language.
3.) Something that's platform independent.
I asked myself the same question several years ago. Because I was a hard care Unix admin at the time, I picked C# and DirectX development. I wanted something "easier" than my 50 hour a week job and different enough that I did not get sick of it. Also, I remembered Visual Basic from college and it was fun. I wrote about 40% of a pretty impressive game, all while teaching myself C#. It was good at the time because the development environment was fantastic (Visual Studio) and the API was sane and powerful (DirectX).
Of course, I can no longer continue development of my project with out serious pain because Microsoft has now decided to abandon managed DirectX and leave it's closest descendant, XNA, in limbo.. There may never be the tools to work on it with Windows 8.
I had a desire to do it again, but this time I picked OpenGL ES and Java, Android development.
I'm finding that eclipse is nearly as good as Visual Studio, and Java is about as easy as C#. Also, most of the concepts have translated nicely.
So, I've been spending about 1 hour a day porting that game over.
I guess my suggestion is that. There's certainly other choices, but I think with this you can jump into something that's trendy and fun (Android development) while learning a Java, a fundamental language that should survive the test of time.
As a father of an unplanned daughter, who at one point thought a lot like you, I can tell you that there's simply no practical reason to have kids. It's purely emotional. That being said, It's hard to put into words why you might want to have kids, but I'll try.
There's the times when I pick her up at daycare, and she runs into my arms and says "daddy daddy!" That just makes any bad day better.
Other times, I get to thinking how maybe she'll get married one day, or have her own baby. I imagine when that time comes, I'll look at her and feel something like I felt when I held her right after she was born. I'll think how she's just this little girl that we brought to life, that we gave a chance to. When I get time to think of it, I'm deeply fufilled in knowing that my wife and I brought someone into this world. That we gave someone else a chance to know what life is all about, begining to end.
At night, when she's not doing well or is sick, and calls for us, it's an overwhelming feeling of dependance, of importance. It's not replicated anywhere else in my personal or professional life. The notion that someone else's life depends entirely on us, gives me a sort of peace and direction I never otherwise had.
Don't get me wrong. Having kids is hard, sleepless, exhausting work. No one tells you how hard it really can be. But, you know, I just started to embrace the challenge. And I realized it's the most important thing I'll ever accomplish. It's very hard to describe how that feels.
Personally, I would'nt have it any other way.
Facebook is a social outlet that acts as a microcosom for real life. The people I know that stress over facebook also stress over vauge text messages that might mean something negative, gossip, and what other people might be saying about them behind their backs. They also add more freinds because their level of insecurity goes down when the other person clicks "accept friend request."
I also know people with a thousand or more friends who never get stressed in cyberspace or otherwise. They always post some joke, or some witty comment and just have fun with the whole thing.
Facebook is just a reflection of who you are in real life. Facebook does not change you, you change it.
Yea, I don't get it either. I remember first playing the Demo. The graphics and lighting blew my mind. The game got glowing reviews when it was released. Then about a month later Half Life 2 came out and everyone jumped on the Doom 3 must suck bandwagon.
Half Life 2 was fantastic and all, but I felt like I had to invest a lot into it. Games don't have to be movies. Sometimes I just want to blast demons.
It really marked the beginning of the end of the dumb shooter. Now everything's a hybrid RPG or some kind of exersize in simulated combat.
I'm sure the guys at Cisco or Apple (or any other like company) were all geeky and cool at first two, maybe pulling a few tricks here and there but playing the game.. then well.. we all know how it goes downhill.
So, Microsoft stepped up to the plate. They bought QDOS, worked with it and wrote MS-DOS. Sure, it was not an extraordinary operating system. But it wasn't terrible, and it worked like CP/M in a lot of ways because MS certainly took ideas from CP/M. That's perfectly OK (maybe not these days, software patents etc...) They were giving IBM and their customers what they wanted when Gary and Digital Research decided not to. That's the genius of Microsoft. Realizing the spectacular deal to be had and standing up to IBM to sign an agreement that would make them the biggest software company ever; keeping ownership of their software, regardless of how much big blue pushed them around. Sorry Gary, you missed out.
Lastly, I doubt the young Bill Gates would hypocritically allow his company to stoop to coping code after he wrote this and sent it to many of his future customers:
Stop laughing, I'm serious. The biggest hurdle is trying to merge two input paradigms into one OS. The second biggest hurdle is application support for the power-user.
So, on both counts, why try? An OS that has a huge application base and can switch between laptop mode and phone mode while sharing the same applications and storage is probabbly a better idea.
Incidentally, you can do this in Linux too. Install both window managers, say Gnome 3 and xfce, and switch between them at login time with xdm.
We've gotten exactly one call (this morning) on IPv6 that I can remember. We published information and started doing some obvious IPv6 things, but no one cares. The group of dual-stack test accounts is pretty small, but they have not even seemed to care or notice. I'd put anyone that asks on a list for testing so they can use IPv6 at home. No one has asked. I guess I could put a big(er) banner on the page.. but really I don't think it would matter much.. and probably scare people.
All in all I will say the experience has been pretty anti-climatic. It was not that difficult to implement. There were bugs of course, (Fedora 13+14 blocking DHCPv6 client traffic, and other NetworkManager bugs) the Cisco CMTS and it's weird detection of static IPv4 only clients... duplicate address detection madness, incomplete support of DHCPv6 + SLAAC in routers (D-Link DIR-615..) but it was just me working on it and I did not have that difficult a time getting our network to route, connect and answer to IPv6. Most of the problems I dealt with were incomparable hardware. Routers and DOCSIS 2.0 + IPv6 modems which are pretty much non existent with the exception of one EMTA I've tested. You have to shell out the bucks for a DOCSIS 3.0 modem evidentially.
Of the D-Link routers I've tested the DIR-825 is the star. It was dead easy to configure. DD-WRT and Open-WRT are not easy and probably there is no build for your router if it only has 4Mb of flash.
This sounds like a tall order. I'd be scared. Buying equipment is not going to fix anything. You've got to learn the existing network before you can make educated purchases. From the scope of the network you describe, here are the basic things I think you'll need to learn about.
Learn about routing. Subnets, CIDR, the differenec between a subnet mask and a wildcard, the difference between static routing protocols and dynamic routing protocols. Default routes. Policy based routing. Observe and document the different subnets you see in your network, figure out their purpose. Look at the default gateway of the clients and the servers. Figure out what device that represents. If you have only one subnet, your network is probabbly to flat. I'm guessing you have at least 2 or 3. Make a diagram.
Learn about VLANS. Tagged VLANS (802.1q), Cisco VLAN discovery (if applicable). I prefer Brocade equipment for switching / layer 2. But I digress. What VLANS are in each switch and how do the physical wires correlate? What subnets run on what VLANS? If you have fiber, you have another heap of things to learn about.
Learn how to make an ethernet cable.
Learn about firewalls. iptables (if Linux), ASA / PIX if Cisco etc.. Learn the difference between access-lists and statefull firewalls. Learn how to add rules to whatever firewall you use. What networks route where and what firewalls are between the networks?
What are the single points of failure? Learn to deal with those single points of failure. What are the entry points? What software is everything running? What are the link speeds, where does traffic go, aggregate and split up?
Gather all the contract information for your equipment. Make a printed list of numbers for who to call about what. Seek consultation to fill any uncovered gaps.
Look into graphing software with auto discover. PRTG is wonderful and not that expensive.
In my experience, things don't usually break. When they do it's because:
A.) Someone touched something.
B.) The power went out.
C.) Someone touched something they were not supposed to.
D. ) You ran out of capacity (in a hard drive, on a link.)
E.) A server got overwhelmed.
Lastly, make sure everyone does their Windows updates
1.) If it's not broke, don't fix it. Why does this network need "rebuilt?" What's not working?
2.) Make sure you can put it back exactally how you found it before trying anything.
3.) Never, ever, make a change at the end of the day, or on a Friday. Come in early, real early, for big stuff.
4.) Listen to your users. If they say somethings different, it probabbly is. Take everything seriously.