In the 90’s, an amazing thing happened – Linux was born. This small project has had a profound impact on the world of technology. Not only did it create a Unix clone, it advanced the open source movement by leaps and bounds. During the decade after the creation of Linux, companies, like Microsoft, would argue against the idea of open source and attack Linux. But then, in the early 2000’s, things started to change for the Linux movement from an unlikely source – Apple. The new Mac OS X would use BSD (an operating system very similar to Linux) as the core of the operating system. The Linux world was very excited about this! The change meant that Unix/Linux hackers had support for Unix on a commercial operating system. Now, it seems that developers across the globe are using Macs for development. Why? Because services like Google Cloud and AWS, as well as Docker, use Linux. Mac users can develop cloud applications on their machine to be deployed to Linux servers and have similar environments on both. Where does Windows come into the picture? Microsoft has fought against these technologies, and has even come up with their own competing cloud service – Azure. But, as more and more developers jump ship to Linux or Mac, Windows needs to move. And over the last several years they have. Microsoft’s .NET Core is not only open source, but it also runs cross-platform – an idea that seems almost blasphemous to the Microsoft of a decade ago. And, as of last fall, Windows 10 includes the option to install Bash support on Windows. Indeed, it would appear that Microsoft has seen the writing on the wall and is working to change the direction of their company to be more friendly to the Unix world that has secretly been in control of computing since the dawn of technology. But is it too little too late? Can Microsoft lure developers back with a Bash shell? Time will tell. But, as for this Unix user, I’m glad to see the change.
As I start my blog, I thought the first thing I would write about is some of my favorite technologies. As a tech guy, I have experimented with a variety of technologies throughout the years. Some have been wins (Java, Unity, Docker, REST), and some have not (Delphi, IIS, SOAP). What are some of the technologies that really stand out to me? First, I love Java. The fact that I can write web applications as well as desktop applications that will run anywhere is amazing. I used to write C/C++ code, and while the promise of write once run anywhere is there, your mileage will vary. Java actually delivers flawlessly. The fact that Google chose Java for Android was just icing on the cake. Second on my list is Unity. For 3D game development, nothing is better than Unity. Not only can you create awesome 3D games, but you can do so with a modern, easy-to-use language (C#). In addition, Unity can export games to just about every platform imaginable including various consoles! Third would be the Adobe Creative Cloud. I must admit I am a relative newcomer to the Creative Cloud, but their tools are amazing. I doubt there is any creative endeavor in the digital world that their products won’t work to create. Not only is the breadth of their products amazing, each individual product is an industry leader – Photoshop, Illustrator, and InDesign are best-in-class products. There are lots of other technologies available, but these three represent some of the best tools I believe the IT world has to offer.