Is a Switch to Windows My Inevitable Future?

Thoughts on my visit to a Windows store and Apple’s Mac Pro announcement

I’ll admit that I’ve become more and more worried with the situation of us pros and Apple. Lately an eventual switch to Windows has felt like an inevitable future. So much so, that when I was last at the mall, I walked into the Microsoft store.

The store is such a blatant ripoff of the Apple store you can’t help but chuckle. I looked around at the poor souls looking at all this stuff and saw the Surface Studio. It’s gorgeous. The display is beautiful and the new mouse and keyboard look really great. I thought to myself, “Let’s see how far Windows has come since 2007.” I opened up what I believe to be Cortana and began to type. I accidentally hit the letter H and when I went to delete it to try again, it froze. I walked out.

I’m not saying an Apple device has never frozen on me, but never for hitting the delete key. Still, as terrible as I may think Windows still is (many love it), it doesn’t change the fact that they hadn’t updated the Mac Pro since December 2013, they’d left the display business, and in general Apple’s actions seemed to point to iPhone being the most important thing.

Now, I understand how that makes sense. iPhone is a very lucrative source of revenue for Apple. But something that hasn’t made much sense is the fact that they need developers to make software for the iPhone. That requires pro-level hardware.

Also, Apple has been removing ports like it’s going out of style. TJ Draper had this to say:

I’m a pro and I need these ports to do the things I do as a professional. Remove all the ports from the non-pro devices. It makes sense and it allows things to move forward. But space is not at a premium in the MacBook Pro — particularly the 15”. So let’s not remove ports for no good reason. Please, Apple, remember what pro means.

TJ nailed it. I felt like Apple was forgetting what “pro” meant. Well, it seems we finally got our answer. I’m pretty excited.

John Gruber, one of the five journalists picked for the tech equivalent of going to Mars except you don’t die in the end, has an excellent writeup on what Apple is doing with the Mac Pro. In it he quotes from Phil Schiller who gives the juicy (but still Apple-like ambiguous) details1:

With regards to the Mac Pro, we are in the process of what we call “completely rethinking the Mac Pro”. We’re working on it. We have a team working hard on it right now, and we want to architect it so that we can keep it fresh with regular improvements, and we’re committed to making it our highest-end, high-throughput desktop system, designed for our demanding pro customers.

As part of doing a new Mac Pro — it is, by definition, a modular system — we will be doing a pro display as well. Now you won’t see any of those products this year; we’re in the process of that. We think it’s really important to create something great for our pro customers who want a Mac Pro modular system, and that’ll take longer than this year to do.

Gruber’s whole writeup is worth the read, but this one quote is the one that made me feel like Apple hadn’t forgotten me. I don’t personally own a Mac Pro, but their investment in it is important for all of us pro customers.

Not to mention, they’re getting back into the display business. Which I’m so happy about because the collaboration with LG has been rocky to say the least. The screen is about the only amazing thing about this display. The I/O is virtually non-existent. It’s sad for LG who ended up making a mess out of an great opportunity.

In short, this is excellent news. Apple knows they messed up, and are taking actions to correct course. Yes, we won’t see any of this stuff till at least 2018, but it’s much better than “Apple is very committed to the pro market” junk they’d been feeding us before.

Things feel a lot better now and I can finally cease my apparently unreasonable expectations of Windows being at least “okay”.

  1. All Apple executive quotes are from Gruber’s post. 


Tickets on Sale for My CSS Grid Workshop

You may have noticed that I’m obsessed with CSS Grid. I’ve been making all types of things with it and loving it. When you see the new things possible for us with this new spec, I think you’ll be just as excited.

A few weeks ago, I gave a talk at a local conference here in the Twin Cities and wanted to expand that into a two hour workshop. My idea is simple: help people learn CSS Grid, but sell tickets at an affordable price. Workshops at conferences can cost up to $400 and I’ve never been able to go to one because of it.

So come to my workshop. Early Bird tickets are priced at $49 until this Friday which will give you access to the live online workshop and the video so that you can go back and rewatch. After April 7th, tickets will go up to $99.

The two hour workshop will talk about some of the issues we’ve had with layout and you’ll code along with me as we solve these problems with CSS Grid. Even if you can’t watch the workshop live, you’ll still get access to videos and code.

I wanted to do something nice for people who support my projects. People like you that read this site. So if you’re going to buy, please use the code timismyfriend and you’ll get 50% off.

And can I ask a favor? Even if this isn’t for you, please share it on social media so that others can find it. I’d greatly appreciate that!


Moving to Netlify

My time hosting Jekyll sites on Heroku draws to a close

In June 2015, I set out on a bold journey. One where no one had gone before. If you’re thinking of space, hell yea that would be amazing, but no. I set out to host my Jekyll site on Heroku.

I’d been paying money for my static site to be deployed. There had to be a better way. I searched what felt like every corner of the internet to find a way to do this. Heroku could build my site straight from git. That would be amazing!

After hours of reading blog posts and comments on all types of web forums (those still exist by the way), I found what I needed. As is often the case, finding the solution took way more time than actually implementing it. In just a few minutes I had deployed my site to Heroku and it was building directly from the latest commit on GitHub.

Heroku has been an excellent home for my Jekyll sites. I’ve even dedicated a series on how to do it. It’s been a lot of fun to figure out different issues I’ve run into and then write about them. Also, hosting with Heroku is what’s allowed me to publish easily from iOS.

But the time has come to move on.

Why the Move?

It isn’t so much of a complete move as it is living in two places. Heroku is still very great with sites I manage. I’m mostly moving my Jekyll projects over to Netlify which I seem to have more and more of. I love Jekyll.

One Click SSL

Holy moly. No, seriously. It’s one click. You click a button and the certificate is issued and uploaded to Netlify. This is how easy SSL should be everywhere.

HTTP 2.0

For some reason, Heroku hasn’t implemented HTTP/2 yet. I don’t know why or when it’s going to happen, but Netlify automatically enables it on HTTPS sites.

Post Processing

Netlify gzips, minifies javascript, and performs lossless image compression if you want it to. Pretty cool.

Static Site Friendly

With Heroku, static sites are definitely not what it’s built for. Heroku is built to handle applications and getting Jekyll to build and work involved a lot of research. On Netlify, all I need is to have my Gemfile and give it the build command. It takes care of the rest. Hosting a static site on Netlify doesn’t feel like a hack like it did on Heroku.

There are a few other reasons like easy deployment from GitHub, deploy previews which allow you to view a pull request on a dev server, snippet injection, and form handling. If you want to read about all these features, I encourage you to read the docs.

Netlify Rocks

The people over at Netlify are doing a pretty great job. It seems very smart to me to design and build for the needs of people building static sites. I’m sure that number is growing and will continue to do so. Also, I’d be remiss not to mention how well designed the UI is. The experience has been very well thought through. Kudos to Rafael Conde.

If you’ve been looking to make a move for your static sites, you should definitely consider Netlify. If you have further questions, you can always email me.

A Sticky Situation by Ethan Marcotte

Ethan Marcotte:

Last week, I thought I’d clean up my blog entries a bit. (Yep. I’m that fun.) Before, there were a couple short but dense paragraphs, each containing a truckload of links: one linking to my archives, a couple links to read either the previous and next posts, and then a few trillion links to “share” the “entry” on “social media” “web-sites.” Now, that’s all been reduced to two links, one for the preceding entry, and one for the next one.

Ethan describes a bug he found with position: sticky and how it “magically” disappeared. I love writeups like this. More people (myself included) should do it.


Be Kinder to Each Other by Hui Jing

Hui Jing after reading some negative comments on the Update CSS Grid page of the Windows Developer Feedback site:

The world is not a perfect place. Life is not fair. But the matter of fact is, we live in this world together. All 7 billion (and more) of us share this planet. Nobody asked to be born, but we’re all here now. We all have a choice on how we want to behave, and these choices will have an impact on someone else, whether we are aware of it or not.

Microsoft is a big corporation and I’m sure everyone has their own perception and opinion of them. But within Microsoft, every employee is an individual human being, just like you, with thoughts and feelings. Furthermore, in a large corporation such as Microsoft, there will definitely be many internal dynamics and decisions outsiders like us are not privy to. Many engineers themselves probably won’t have the full picture.

What an excellent piece that so eloquently communicates a fundamental truth. The reality is that a lot of us like to bash on Microsoft for their browser issues, but Edge has come a long way. I believe that those developers are trying their best, and all the negativity doesn’t get us any closer to having CSS Grid implemented in Edge.

Instead, vote for the developers to update CSS Grid. You can also vote with your code by shipping sites that use Grid layout. As the saying goes, you catch more flies with honey than you do with vinegar.

CSS is Not Broken by Keith J. Grant

Keith J. Grant:

You cannot be proficient in JavaScript until you understand coercion, prototypal inheritance, and asyncronous(sic) flow control. Likewise, in CSS, you have to understand the cascade, inheritance, and the box model.

CSS is hard. But this is not because the language is faulty. Rather, the difficulty lies in what the language seeks to accomplish.

This article is one of the first fair pieces on the topic. These days, the fights going on around JavaScript and CSS can get pretty heated, with some going to some low places. If you feel CSS is broken, you are not stupid. CSS has a lot of quirks, and that’s why it can be difficult for those who don’t know it well yet.

Hell, I’ve been writing CSS for ten years, and I have many moments of frustration with it. Often, it’s because I didn’t plan my project correctly. CSS can be very unforgiving in that way.

Still, CSS is not broken. I couldn’t agree more with Keith’s last paragraph:

CSS isn’t broken. But it does require study and skill. It does require careful thought. As with anything in programming, you can make a mess of the code. Sure, blaming the language is the easy way out. But when your JavaScript is confusing and buggy, you know it’s not the language’s fault.

If you don’t want to learn CSS and its quirks, that’s fine! Let those of us who love CSS and don’t want to learn JavaScript’s quirks write it. In the meantime, we’ve got to stop calling each other idiots (or worse) for disliking a computer language. It’s not constructive and hinders all the amazing things we could be doing together.


Hassle-free Full Bleed with *:not() by Dave Rupert

Dave wrote this the day I went to Vegas and I haven’t had time to write about it.

Let’s say you’re making a blog post layout. Content is entered into a CMS inside a WYSIWYG editor field. You echo that content to the page. You pull it up on a mobile device and notice the paragraphs go edge-to-edge. Yikes, it’s a little uncomfortable. So you add some kind of left/right padding maybe using a div.container.

This works great until the client asks for the images and video to go full bleed. Your universal padding solution no longer works well.

Uncle Dave’s solution for this is pretty great. Visually, this is the type of layout I wanted for this site. So in an exercise of self-shame, let’s look at the selector that makes it all work!

.post__entry > p,
.search-results-list > p,
.page__entry > p,
.extendout figcaption,
.site__footer small,
.page__search {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  @media #{$large-up} {
    width: 65%;

Ugh! What the hell is this Tim? Gross! How I ever thought this was an elegant solution, I don’t know. But going back to what Dave says is perfectly illustrated in the code above. Using :not() allows you to only manage exceptions instead of all this. The actual elements that I want to “embiggen” as Dave calls it, are only a few. This selector would only contain around four or five exceptions.

Anyway, I need to put this on the list of things I need to rewrite for the next redesign.

Personal Site Redesigned

Three months ago, I set out to redesign my personal site. I usually start feeling the itch every year or so. I don’t really know what version this is, but feel free to look at previous iterations on the Wayback Machine.

This year, I’d learned a lot about CSS Grid, and I was determined to ship my new site using it. Little did I know how much support it’d have by now. As of this writing, Firefox, Chrome, Safari, Opera, iOS Safari, and Chrome on Android all support CSS Grid. That’s pretty amazing considering that when I started working on this refresh, I was using Firefox Nightly to make sure Grid was working.

In addition, to the Grid stuff, I’ve tried to add more of my personality to the site, and communicate who I am and what I’m good at. Also, the thing is speedy. With the cache disabled, it’s loading in 815ms. With the cache enabled, it’s fully loaded in 353ms. Even on Good 3G, the DOM is loaded in 657ms, with full page load coming in 3.68s. Obviously, there are always improvements to be made, but I’m really happy.

Another thing I focused on was to optimize space on large screens. I still think there’s work to do in this department, but it’s definitely better than previous versions. You’ll see that blog posts go from one column to two then three. I’m still containing content at a certain width, which some might disagree with but I like it.

I invite you to take a look, use your inspector tool (or look at the code on GitHub), and let me know what you think. If you have some constructive criticism send me an email. I’d love to hear from you.


Hello, I’m a Mac. And I’m a PC

I don’t know who I am any more

Or, an alternate sub-title: A long time Mac user and web developer’s perspective on the current state of Windows vs. macOS

Once upon a time when I was about seventeen, when I thought I was going to write music, play a guitar, and record it all, I needed a way to record sounds from my voice and guitar. My friend worked at Microsoft (Hi Dave), and he also used to record music before he become a developer. He recommended I get a cheap(ish) PC and dabble with the recording to see if it went anywhere (spoiler alert: It didn’t). I got a HP Pavillion with 512 MB of RAM1 and a 2.4 GHz Celeron processor2.

This was my first real induction into the world of computers. There was a Windows 95 computer around for a year or so when I was like twelve. But other than that, I was around pretty much no other computing devices until I got that HP. It had the newly minted Windows XP on it, which crashed and froze constantly. But I was hooked on computing of some sort. It’s funny the threads that follow through in life. It was a hobby at the time and I didn’t think much of it. But I’m confident in saying I would not be a software developer today if not for all that.

I’m a Mac

In 2004 I “became a Mac” when I bought my Aluminum Powerbook G43 and until very recently, I was confident I had made the right decision.

While in theory4 I am not as unhappy with the new generation of thin MacBook Pros as many are, I understand the frustration. And it’s clear to me that Apple’s priorities are pretty far away from the Mac and macOS. Their entire line of Mac computers right now feels lackluster and all but dead. At the same time, Microsoft is doing some pretty rad looking stuff with their Surface line.

But as a web developer who spends a lot of time in the *nix stack, I just was not sure how Windows would fit me these days. I’ve not really kept up with Windows too much except to note that Windows 10 looked like someone at Microsoft actually acquired some taste—something that has been badly lacking in Windows and other Microsoft design in general until now.

A Week in Hell

I decided to force myself to spend an entire week on Windows, doing my regular work and not booting into macOS at all. I already had a BootCamp partition running Windows 10 for testing, but I needed to get it up to speed for being a development environment. I didn’t even know what that looked like so I spent all day Saturday before my week of hell just figuring out how to get my Windows environment into a state where I could develop with it.

As you can imagine that spilled into Monday as I figured out how to get stuff done. I’m not going to outline all of my development tools and things in this article—this is just going to be general observations about Windows vs. macOS. Since I am a developer though, there will be some development stuff interspersed as part of my observations.

Window Management

When I first switched to the Mac in 2004, Window management on Mac felt weird for about 15 minutes. Then, after that, going back to Windows was awful. Alt + Tab was a joke and hard to use compared to macOS’s Cmd + Tab. Exposé on macOS was amazing. Plus, as a power user, I quickly found Cmd + ~. You see, in macOS there are essentially two virtual layers to window management (which you can easily ignore but I don’t for multi-windowed apps): The app layer where all an app’s windows are, and then the second layer of any particular app’s windows. So Cmd + Tab allows you to switch at the app layer and Cmd + ~ allows you to switch at the app’s window layer. It’s extremely powerful and over the years it has become so ingrained that I found Windows extremely limiting at first.

After a couple days I found Windows’ Alt + Tab manageable but not great. Windows 10 now shows a mini-preview of the window with the application’s icon small above the preview. I still find it a little difficult to tell what app I want when using Alt + Tab. The icon is small and my eyes do not gravitate to it, and the preview is small and does not tell me much. But because Windows only has the one layer (all windows) they can’t just show the application icon because multiple windows for any given app show up in the Alt + Tab switcher.

I found that, more often than not, I preferred to use the mouse to hover over the icon in the task bar and let an app’s windows appear so I could choose the right one. So, in a way, Microsoft has solved this layering problem at the task bar level. This requires me to interrupt my flow and mouse around. In addition, I manage my windows geographically on multiple displays. Using the task bar takes the geography away from my management of windows because it’s all down at the task bar. Sure hovering long enough produces a translucent preview of the Window where it lives on the screen, but it all requires me to reach over to my mouse, mouse to the task bar, look down to find what I think is the window, hover over it, wait for it to appear, look up to the location to verify, then click it. Now I can get back to what I was trying to do.

On macOS, the steps for me to find the right window are much easier and don’t involve the mouse. Cmd + Tab to the correct application (which is much easier to identify because of the large application icons in the switcher preview), then if necessary, Cmd + ~ to the correct window in that application.

Where Windows Window Management Is Better

I did find however, that I far prefer Windows full screen and split screen apps. The Maximize button in Windows always makes the window take up the full amount of the current display, but does not take it out of the windowing layer and environment. The green button on macOS has had a long history of not really working well (for me at least) but it got way worse with the macOS implementation of full screen. Nowadays, when you click that green button on a Mac, the window does fill the screen, but it slides over into it’s own environment and is taken out of the windowing layer and environment. You can’t use the show desktop function of Mission Control, it’s hard to access the dock, other applications are no longer within the windowing layer. macOS just makes all this frustrating. I found Windows’ maximize extremely refreshing. As a bonus, if you drag a window up and touch the top of the screen with your mouse and let go, the window will maximize5.

In addition, split screen is really much nicer on Windows as well—again because it doesn’t break the windowing model. Drag a window to any screen edge and a visual cue will tell you that the window will take up half the screen. When you let go, all the other windows will tile next to the new half-sized window. Select one and it will take up the other half—or you can just drag a window to the other side like you did the first window. Then—like split screened windows on macOS, if you drag the middle between the windows, they’ll both change size. But with Windows you can still have other windows layer in there, underneath, on top, partially covered, on top of one half screen window and behind the other, etc. It’s much more freeing than what macOS does with full screen. To be honest, I avoid macOS full screen altogether. I’ll occasionally try it again just to be sure—and even force myself to live with it for a few days, but it just doesn’t work well for me.

Where Windows Completely Sucks on Window Management

I remember from ye olden days of Windows XP that windows could get stuck off screen for any number of reasons. Did you know that Microsoft still hasn’t fixed that? They haven’t. Ask me how I know.6

Mousing, Scrolling, and the Trackpad

When I first booted into and started using Windows that fateful Saturday, the first thing I discovered is how unusable my beloved Magic Mouse was7. The lightest touch would send windows scrolling. So you would think then that it would be easy to work up some scrolling speed. See, the funny thing about that is, scrolling is just awful in all ways on Windows. There is no smooth scrolling and no momentum. You can only scroll “by line”. Maybe I haven’t found the right driver or the right “mod” but macOS does all this natively. I didn’t realize how much I relied on precise scrolling in macOS. Something as simple as scrolling an element into view in a web browser console. Normally that console is already pretty small at the bottom of the screen. When you have Windows line scrolling set to something like 4 so that scrolling is not murderously slow, you’re just as likely to scroll too far in small spaces as you are to find the thing you’re looking for. Conversely, when you set scrolling to 1 line at a time, you want to kill yourself because scrolling is so slow. macOS has solved scrolling and Windows still has no idea how to do it.

Then there is mouse preciseness. The momentum curve of moving a mouse or a trackpad with macOS makes it so much more precise and feel so easy. And yet, if you give that mouse a flick, it will be over on the other side of all three of my displays in a jiffy. There is no setting in Windows that makes the mouse feel as precise. And there is no setting that allows me to flick the mouse where I want it.

And again, like scrolling, the trackpad in Windows is a dumpster fire (.jpg). That is mostly because mouse precision is much more important on trackpads.


Here is where I was surprised. When I first switched to the Mac, that Powerbook G4 blew any PC I had ever had or used before away. Then, when BootCamp on Intel Macs became a thing, I’ve always had Windows sitting around in some form or other. And up until Windows 7, macOS performance always felt better than Windows on the same hardware. I can’t say that’s the case anymore with Windows 10. Windows consistently feels more peformant and less “laggy”. Just in terms of pure perception everything in Windows 10 feels like it happens instantly. Things sometimes feel like they’re hanging on macOS.

My perception is somewhat backed up too by the fact that the fans on my laptop run more when booted with macOS than they do when I’m booted in Windows doing all the same things. This makes me sad because macOS used to be the king in terms of general performance8.


Here again Windows 10 does better than I thought it would, and certainly better than any of its predecessors. Windows itself handles Retina just fine with one minor complaint—I have one display that is not Retina and it treats mousing from the retina screen to the non-retina a little weirdly and shows a huge size differential that macOS does not. But that’s not really a problem in practice.

Third party app support for retina on the other hand is all over the map. Chrome mostly does okay—meaning that it looks great on my two retina displays, and does sort of okay on the non-retina one with the exception that the window controls are a little wonky. The window controls are sort of blown up and think they’re still on a retina screen.

Some apps just don’t support retina at all and look fuzzy and pixelated.

It’s been some time since I can remember seeing any app or anything at all aside from a web page here or there that did not fully support retina on macOS. So score another one for the folks from Cupertino.

Design Aesthetic

I admit that the aesthetics of something can be a little subjective—even so I think that most of us can give macOS the edge here. That said, I don’t give macOS the edge by as much as I thought I would. Like I said earlier, Microsoft seems to have acquired some taste—or at least has been listening to people with taste. Most of the garishness from the XP and Vista days—and to a lesser extent the Windows 7 days—is completely gone. It has been replaced with a much flatter and more pleasing aesthetic that I am not averse to at all. I haven’t gone to the dark side, but I’m okay with the look of Windows these days.

Finder vs. Windows Explorer

File management is one area where the Windows people have always said Windows whips macOS hands down. I have always disagreed with these people and I still do. The lack of tabs on Windows Explorer is downright puzzling and an outright pain in the beep. Who knew?

Tabs aside, I find the lack of the triangular expanders right in the main view which I love in macOS Finder to be really hard to live without.

And let’s talk about QuickLook. This is, again, something I didn’t know I used so much on macOS. But I have suddenly become keenly aware of its absence on Windows.

Dev Stack

I have not found anything I can’t do on Windows. But the lack of native *nix tools does give macOS the advantage. Sure there’s Git Bash and the subsystem and all that, but it’s not the same. I find that, on Windows, I generally prefer PowerShell as it’s faster and more reliable. And almost all of my tools work in PowerShell just fine. The exception is SSH—which I understand you can set up to work in PowerShell but I just haven’t taken the time. Git Bash does SSH just fine all by itself so I use that.

Where the dev stack is actually better for me on Windows is my IDE: PHPStorm. PHPStorm is cross platform and written in Java. Java on Windows has far better performance and support. And there just aren’t any other good IDEs for PHP out there. And there are a few other Java tools I use9 that certainly do have better support and performance on Windows.

There’s also WinSCP—which, honestly, while being very “Windows-y” is a shining example of great dev apps on Windows. The closest I have come to an (S)FTP client as good as WinSCP on macOS is ForkLift. I like ForkLift just fine and use it all the time. But WinSCP has the edge here.

As far as working with tools considered more as part of the LAMP stack like PHP and Composer from the command line in PowerShell, I found initial set up to be a little more difficult. But once running, they work just fine in Windows.

In Conclusion

So as I wind this gargantuan amount of words about operating system choice down, I’m ready to admit that I do know who I am for now. I’m still a Mac. But I find the gap between the two warring worlds to be lessening. Particularly in light of Apple’s clear abandoning of the Mac as a platform they are invested in and care about10, I feel this has been a fruitful exercise. I learned that, while I still give the edge to the Mac and will probably still be buying and sticking with Macs for the foreseeable future, things in Windows land aren’t as bad as they used to be. And in some areas, things on the other side of the fence are actually better than on the Mac—a phrase I thought a few years ago I would never utter (or write).

I also found the exercise useful to hone and sharpen my toolset to be platform independent. As Apple continues to make me more and more uncomfortable with their direction and (lack of) support for me as a developer and power user, I have become increasingly desirous to decouple my life and toolset(s) from any one specific platform. As part of this exercise I have abandoned some tools and/or replaced them in favor of more platform independence.

Going forward, I plan to spend every other week working in Windows. For the past several weeks that is exactly what I’ve been doing. I’ll work in Windows for one week, then I’ll work in macOS for a week. Back and forth it goes. I think it’s been really good for me.

I’ll still make fun of people who bring thirty-pound laptops running Windows to Starbucks. But I’ll have to stop making (so much) fun of Windows itself.

  1. A fair amount at the time actually. 

  2. I know, I know… 

  3. I think that one was the first generation following the Titanium. If not the first, then it was the second. It was early on. 

  4. Theory because I still have a previous generation computer. 

  5. There are also keyboard shortcuts to maximize windows. 

  6. No, actually, please don’t. It’s a sore subject. 

  7. Yes, I installed all the BootCamp drivers and everything. 

  8. Excluding games because game makers have always spent their time optimizing for Windows environments. 

  9. Such as DBeaver 

  10. Please, please, please, please prove me wrong Apple. I want you to prove me wrong. And a lot more than just reassuring platitudes from Tim Cook, I need to see some money where the mouth is at.