An earlier version of this piece remembered last night's MSNBC show incorrectly. I have since fixed the piece. Still diggin! 💥#
It was fascinating to watch Chris Hayes and Kara Swisher together on Hayes' show last night, talking about Facebook. Swisher kept saying she thinks Facebook can get fake news under control. That idea deserves exploration, I wanted to hear more about why she thinks that. I suspect it might be right, and it's necessary imho for their survival. But I suspect they won't do it, because tech giants, and Facebook is that, don't see the cycle.#
Both Hayes and Swisher talked about the cycle. They talked about how once we thought Microsoft was the big threat, but now not so much. One of the other guests said it was the antitrust suit that knocked them down, but I don't think that was the reason for them becoming not-dominant. #
Here's what happened in a nutshell. Microsoft achieved its moment of dominance on the shipping of Windows 3.0. No threats in sight. They must have had quite a party that night. IBM vanquished. Lotus, Apple, left in the dust. That was about it. Microsoft rules. #
At the same time the web was booting up. Microsoft responded in a scrappy highly competitive way. And they won, for a bit. They managed to replace Netscape as the dominant browser. Then they tried to turn the web into a feature of Office. That was their basic posture re the upstarts, Google, blogs, all the things that were popping up around that time. All were apps that ran inside MSIE. A threat? Nah. Only the blogs turned into Facebook and Twitter, and Google was the glue that tied the web together. And where MSIE was stagnant and not moving (kind of like Facebook today) Firefox became the browser everyone used because it was fast and the bugs weren't so bad.#
The bugs were, imho, the real downfall of Microsoft. Adware, malware, virii, they had lots of names, everyone was getting hit, and Microsoft didn't consider security their problem. It was a "third party opportunity." I remember realizing in a SLC hotel once that my laptop had been infected through the wifi network in the hotel. That's how bad it was then. Microsoft wake up, your platform is dying. They ignored all the signals. #
I switched to the Mac in 2005 and never went back. No problems with malware. For me there wasn't anything intrinsically better about the Mac, it just worked and Windows and its browser was always broken or about to break. Firefox on the Mac was a great browsing experience. A lot of people switched in that period. #
Microsoft missed lots of opportunities to win back users, they didn't seem to care. I don't think it was any single thing that took them down, rather a lack of awareness of the world around them, a lack of interest, curiosity. In other words they became a big company. They generate their own gravity, and people who work there become focused on that, rather than the rest of the world. That was how Microsoft knocked down IBM, by being agile and scrappy, and how Google et al did the same to Microsoft.#
Facebook has done a great job of preventing the kind of malware that hit Microsoft so hard. That's like the Maginot Line. We always prepare to fight the last war. I guess fake news is to Facebook as malware was to Microsoft. And if Facebook can't clean up this aspect of their product, they could suffer the same fate as Microsoft. Or it could be just a symptom of a larger problem, too much internal gravity and not enough outward curiosity. #
I think it's great that the MSNBC hosts are interested in the history of big tech. It's not hard to understand. They're just stories like gods, royalty, sex, empires and great wars, victory and vindication. In other words, it's a human story. #
Ultimately the reason why Microsoft lost dominance and Facebook will is that no one gets to be dominant forever. #
After listening to this podcast, I understand why people like guns. I get it. And I think I can explain it. Let's give it a try. #
I used to have a fetish for stereo equipment when I was a kid. I'd go into the city to high end stereo stores and get demos of the best equipment. I went to the electronics show at the Coliseum. I studied the equipment bands used. I became a sound engineer. I loved everything about it. The sound systems I lusted after were more power than I could afford, the systems cost thousands and I was just a kid. #
I also had fantasies about guns as a kid, like a lot of my young friends, we'd play soldier, or The Man from UNCLE, or James Bond, or Star Trek. There were lots of guns in the kid culture of the 60s and 70s. When I was in college, at Tulane, in New Orleans, typically my roommates had guns. One took me to a firing range to learn how to shoot. I hated it. I didn't trust myself with the power. I realized I could just turn to the left and shoot someone. And they could shoot me. I couldn't wait to get out of there. I felt like I sometimes do on subway platforms. I could just jump in front of the train and be killed instantly. I step back from the platform and hold on to something to reassure myself that it's just fantasy. #
To some people the guns must be a combination of the lust I felt for the powerful sound systems and the weird way you feel when you can end it all with one irrevocable act. The fantasy gets better -- your country needs you to defend The Constitution. You have your guns ready for the day when you're called on. The NRA feeds the fantasy by saying who you will be defending the Constitution against. We're fighting for freedom, and our guns make it possible. More guns, get more guns. Because the country (in your fantasy) needs you. #
The reality is the country doesn't need you. If you ever start shooting people with your guns, you may kill others, like the guy in Las Vegas did, but you will be dead yourself a few minutes later. You are not responding to a threat. It's all in your mind. #
I've made a lot of progress, but it hasn't been pretty. Here's the story.#
It's going slowly as I fumble around in an old semi-familiar place. I know what I want, in user terms, but have to translate that into a database that's running on a system others can access.#
My only experience with SQL was in 1978, as a grad student at UW, I took an introductory class to databases. I don't remember why I chose that class, maybe it was a requirement? I also don't remember how the database was set up, how we submitted our queries and how we got back the results. It's possible the work was done on punch cards and printouts. That's how long ago it was. I do remember having fun with it once I figured out what it was doing. #
Between then and now, I've used all kinds of data storage systems, mostly ones I wrote myself, for outliners, for the object database in Frontier, stuff like that. I only had a couple of apps in all those years that used SQL, other devs did the database work. Now I want to learn how to build these kinds of apps. I've put this off for too long.#
Yesterday, I got MySQL running on my desktop Mac through MAMP. The instructions were better than with the download from the main Oracle site. But they weren't really good. It's common in this world to leave out the bridge you need to get from installing to using. In this case, they didn't tell you there's an app in the Applications folder called MAMP.app, that it put there. They also didn't tell you that you can access a local web page to find a dashboard for the MySQL server. They also never told you there's a REPL available at the command line called mysql and you can type SQL queries at it. I figured it had to be there, why have a command-oriented language like SQL if you can't enter it interactively? All of this info should have been in a bulleted list. These are the things you need to know to get started. 1. 2. 3. #
Anyway, after getting it up, and running a few commands, I quickly realized having it local will do no good, I need it on a server. I tried setting up a new server with MySQL on it, first on Amazon and then on Digital Ocean. On Amazon I went through Amazon Aurora, I don't know exactly what it's supposed to be. It sounded like it was supposed to be an easy hosted way to run MySQL; it was the easy part that attracted me to it. This time instead of not finding the bridge, I was asked to make a lot of decisions that 1. I had no idea how to make and 2. I suspected would not make a difference for my first application. They could have made these decisions for me, with good defaults, and I probably would be using their service now. Instead after guessing at answers on the first page, offered yet another page of impossible choices. At that point I realized I was deep in a rabbit hole. I closed the tab and moved on. #
The problem I hit on Digital Ocean that stopped me was that I couldn't figure out how to access the database from code running on my desktop. I know it's possible. The security program I ran offered me the option to do it, but it still wouldn't accept operations from my desktop. Okay so I have to run Node on the machine, and that means I have to run Dropbox, so I can update the code as I iterate. Setting that up was problematic, because I had chosen a machine size that I didn't think was up to running Dropbox. I could start over, but I had another idea.#
I have a couple of underutilized servers. I chose the one on Digital Ocean because I had been able to install MySQL there. The server already had Node installed and Dropbox. It was ready to go. I hadn't wanted to install MySQL on an existing server for fear I would do something I couldn't undo -- but at this point I had already uninstalled it once, and was pretty confident I wouldn't break anything. So I sucked in my breath, said a prayer and installed MySQL, wrote a test app in Node, and hit another wall. My new app needed the new version of Node, there was a problemwith the request package, I had seen before on another server. So I fumbled around for about an hour trying to remember how I worked around this problem last time. I ended up completely reinstalling Node and then, boom, my little MySQL app worked! It showed an error message that it couldn't find the database. Correct, I hadn't created it yet. #
This morning I created the database, added a table, added a record to the table, did a query, and yaha it all worked. Now I get to think about next steps.#
PS: If you have comments, add them to the ongoing thread. Thanks!!#