Windows 8 from the point of view of a Mac user

So I should mention before anything else that I use Windows 8 just for fun. I work all week on my Retina MacBook Pro in OS X, and on evenings and weekends – when I want to play World of Tanks – I reboot into Windows. That’s about it. Make money on OS X, have fun in Windows. It’s kinda like the opposite of how it was in the 90’s (working in Windows, coming home to Mac).

So today when I launched World of Tanks, I realized I was in a bit of a rut, tank-wise. Quite a bit of XP in order to get the next set of tanks. What does that mean? Windows 8 upgrade time!

I was able to do the thing all online. $200. I would’ve liked to have stepped down from my Win 7 Pro down to Win 8 Home – I mean, all I do is game in the thing. Why do I need pro? But it didn’t give me a chance. Upgrade assistant was pretty reasonable. It complained at me for not having enough space – I uninstalled some Steam games to make room, and when I flipped back to the Assistant window, it had moved along to the next screen. Not bad.

As my friend Beckley and I have been discussing – Microsoft is throwing money away not making it easier for Mac people to get Windows. And making it way too expensive. If they put up an app in the App Store (presumably with Apple’s buy-in) they could put a $99 price tag on it and make some nice money. At higher margins than OEM licenses! But they’re dumb and short-sighted about things like that. Oh well.

Anyways, it still takes quite a few reboots for the install to complete. That was unexpected – but I guess that’s me not remembering my Windows-fu. Kept having to hold down the Option (alt) key to get it to boot into Windows. It threw me into a setup assistant and I somehow managed to inadvertently hook up my Xbox account to my Windows login. Freaky, but why not.

I ended up hooking up my Metro Home screen to my Facebook account too, as well as my Xbox account. I was surprised to see Xbox avatars for all of my friends pop up – relatively easily accessible from the home screen as I clicked around. I had to download some updates and the process was not as buttery as possible, but still not bad at all. My FB friends are around too. Again, not too terrible. Hooked in two of my three Gmail accounts into the Mail app. In the end, I had a brand new view of all kinds of ‘live tiles’ giving me a newfangled view of my PC.

The Start button in Windows has always been a disaster for me – it contained a billion things I didn’t care about, and 3 that I did. And when it had a scrolling view it was even worse. And that one view where it ‘automatically’ optimized where everything went? Even more of a disaster. So in Windows 8, Metro completely replaces the Start Menu. This new one actually makes sense to me. The three things I want to find? Right there, staring me in the face. I want to move them around? Easy and obvious. The one place it consistently throws me for a loop is when I want to find something that I would normally have to dig through the lesser-used folders in the Start menu to find (Start -> Program Files->SomeStupidCompanyName->DumbUtility…). That’s where my muscle-memory gets in the way. I can’t find something, I hit the ‘command’ key (Windows key) and the Metro screen comes up -> I can’t find what I’m looking for -> I click on Desktop-> I still can’t find what I’m looking for -> hit the Windows key again…

The ‘flat’ look seems timeless to me. Reminiscent of Star Trek:TNG’s LCARS pseudo-OS. No excessive curves and embossing and rounded edges and so on. Just really clean and flat. It starts to fall down a little bit when you look at Legacy Windows things – they look a little odd – trying to be flat like Metro but inheriting all the Windows baggage. And lots of things that are buttons don’t look Buttoney. So I can imagine I will find myself in a position where I have to scrub my mouse around to see if things are clickable all the time. That will certainly cause some level of UI-fail. It’ll be even worse on a touchscreen machine.

I’m even using IE10 (!) Because it shows up better on my Retina screen. I tried Google Chrome in ‘Windows 8 mode’ and it was ok – but the text was showing up too small. IE actually is not bad. I’m completely shocked by this. The font rendering still looks a touch off to me – some parts of letters look too thin maybe? I can’t put my finger on it. But I can read the screen, and that’s a nice start.

In the end, my feelings about the look/feel of the thing? I don’t see why everyone is all up in arms. It’s actually kinda futuristic-looking, IMHO. I actually find it very pleasant. Of course, I’m a bit of a contrarian – when I first used Windows Vista it didn’t bother me as much as it seemed to bother everyone else. And when I first used Windows 7 I didn’t think it was so super amazingly awesome like everyone else did. So take that into account. And also take into account – the only things I do in Windows are: play games, test things in IE, and poke around. I don’t usually try too hard to get much work done.

But as always, the devil is in the Details. And that’s where Apple tends to really knock things out of the park, and where Microsoft tends to fumble. Especially when I click on something that’s “classic” Windows from something that’s Metro, things feel janky and weird and awkward. The tile layouts in the ‘top free’ and ‘top paid’ sections of the App store are awful and useless. I can’t search the store either; if you don’t click on one of the ‘suggested’ apps, you’re screwed. The Skype integration seemed exciting – but then it was insisting on doing some kind of account merge that I didn’t want it to do. I still can’t figure out how to add a third email account. I can’t get number of unread messages to show up in the email tiles. It’s hard to get apps to show up in the Metro panel thingee if they aren’t there already. Or if you (ahem) accidentally ‘unpin’ one (oops!). My Hipchat (Adobe Air) app was all messed up and confused and it took quite a bit of cajoling to get it so I could have a normal window on my screen. (That could be Adobe’s fault, or HipChat’s fault, or Microsoft’s fault. Not sure.) As I continue to play with it, I’m sure I’ll find more to complain about. I couldn’t figure out how to open multiple windows in the Metro version of IE10 until I was doing final edits of this article (right-clicking somewhere plain on the page seems to bring up a contextual menu?)

But in the end I think Microsoft is trying some really clever stuff here. I think this Metro stuff really is the future. Apple broke with OS X precedent when it made iOS; and I think Microsoft is trying to do the same thing here with Win8/Metro. And in the same way people were up in arms and completely freaked out when Apple first removed the Floppy drive – and then later, the CDROM – I think that’s how the typical Microsoft person is responding to Metro.

I think Microsoft has latched on to Apple’s “Halo Effect” strategy. Apple had the iPod, and the iPod “Halo” started to cause a boost in Mac sales (and lead to the iPhone and iPad). Analogously, Microsoft has the Xbox. Perhaps, from this Xbox Halo, they can start to rebuild the strength of their Windows empire? Maybe. But remember – Microsoft is adopting Apple’s strategy here. And Microsoft was very good at taking someone else’s idea or product, imitating it, iterating a few versions of it, throwing in some dubious business practices, and then coming up with something that actually starts to crush the competition. They might be trying that again here. Though they haven’t really pulled that off in a while, I think.

My bet is that Microsoft-users will continue to whine and bitch and moan about how terrible and awful Windows 8 is. And we’ll have a service pack or two come out, and then maybe some kind of interim release – and then maybe people will get used to it and move along.

I think, most importantly, that if they didn’t obsolete themselves with Metro, someone else – probably Apple – would’ve done it for them. So they really had no choice.

Mac OS X good and bad & Braydix w/WebKit

I actually had a slightly not-unpleasant experience with Mac OS X, being used as a Unix server. Since I rail on how much I hate it as a server, I thought I would balance my own bias with a report to the contrary.

I was prepping a mini to run DJB-utilties – DNS, daemontools, Ucspi-tcp. It was not very painful to get them installed. I decided to run my stuff using launchd instead of daemontools, and that worked fine too. I tested it and killed some stuff and it came right back. Also tweaked the Postfix config to use some custom transports, and stay running – easy-peasy. No problems. Found some nice stuff on the internet about how to add users using something like dscl – and that didn’t hurt much at all. The odd piece of dated documentation here and there, but no biggee. Postfix was totally painless, just my weakness with that package that might’ve affected me if only slightly. I should note – and I bet this affects my report – that this was on a regular OS X workstation. When I used to program all day on a Mac OS X workstation which ran apache and php, I also had no problems from that setup.

And now to balance my prior balancing report – I also worked on a Mac OS X Server. And it fucking sucked. Again. Within days of my previous unhappy work with an OS X server – I think it was either Tuesday or last Tuesday – I’m working on another one that’s freaking out, and I can’t tell what’s going on, and the admin tools don’t work, and smoke is pouring out of the side of it, and gear teeth are flying out with sparks. It’s a mess. I keep wanting you to not hurt me, OS X Server, and you always do. Every time. I hate you. It’s like some horrible abusive relationship. I run away, seek counseling, go to a victim-of-abuse-by-os-x-server shelter, get my life together again, and then, months later, I think, “Hey, that OS X Server, he ain’t so bad…it was probably something I did, after all. I bet I can do better.” And then I’m making excuses about how I fell down the stairs and banged my eye into a doorknob again.

I also have redeveloped Braydix (as a necessity). Instead of building it against Firefox, I built it against WebKit, and saved literally 2 or 3 months of work. Holy shit! It’s no wonder that everyone uses WebKit as their base. My God, the difference! I also used the Qt toolkit, and was finally able to get rid of Xwindows, which I am sooooo stoked about. So the latest Braydix uses the Linux framebuffer and bops open a web browser right there. It boots up fast for me on my VirtualBox, but I sent an ISO to good ole Bryan and he wasn’t able to get it to do much without it panicking and dying. So a bit more work to do. Another thing I did was I jammed everything into the ‘initramfs’ and got rid of the whole concept of a root drive. Sooooooo freeing! And the result is a 33 MB ISO (which doesn’t yet work, but shhhhhh…). I’ve been trying to get it to run on this eeePC I have handy but so far, not quite. Just getting Grub on there was enough of a challenge. We’ll see how it goes.

Spinning magnetic disks of terror

So I feel like I’m going through the Five Stages of Grief. My lovely, wonderful MacBook Pro’s hard drive has just completely died, all of the sudden. It’s not the lack of a computer that I have problems with – though for anyone who knows me, it’s definitely a problem – my problem is with my data.

240GB or so (plus or minus) seems to be completely gone. There, one day, fine and dandy and operating well within tolerance, one firmware update – hey, maybe that’ll fix the odd once every couplea weeks hard-freeze issue I get now and then – and kerplow. I can retrieve a mere 300 some odd megs – Megs! – of data.

I have lots of work on that thing – and of course, having been making my way to a new machine from an old one, I don’t have backups. I am a medium-strength Unix guru, and have tried everything I could, but I can see the history of my emergency dd run – every single block is failing to copy after those first 300 some odd megs. It doesn’t look good. It’s 19 gigs of the way through a 240GB disk, with a bootcamp partition which I’d also like but can totally live without. So maybe 160 GB of real disk to contend with. It’s going to be running for days. and lots and lots of effort to recover zeroes isn’t going to help that much.

So yesterday was Anger. I think today looks like it’s Bargaining – “If I can just manage to save this one VM I had a lot of stuff in, maybe I will survive.” I’ll just have to slowly but surely make my way through the rest of the stages. Depression should be one of the next ones for me to look at, but I think some of that was yesterday. Perhaps I’m crusing through the stages at more of a reasonable pace than I thought.

One thing – kinda philosophical – that terrifies me here is that, at some point, we imagine the data on these strange, spinning platters is permanent. Or that we’ve “saved” our data to them. But we might as well be skywriting, in the end – the data won’t be there forever, and in the blink of an eye everything could be completely gone. How could you trust anything you care about to such a…capricious medium? Oh, I know. Skywrite it twice. I dunno, it sounds to me like that’s doing it wrong.

Well, I’ve been able to catch a failing disk every time before now – catch it fast enough and do my emergency copy-off of data, the whole routine, and end up without losing too much. But it looks like my good luck – or good Karma – or good ninjary – has run out. I guess it was about time that I get hit, and man did I get hit hard.

It may sound silly, but I feel afraid to store anything anywhere other than The Cloud again – my gmail account and Freshbooks accounts have luckily allowed me to continue being in business without much interruption. Perhaps this is the great big flashing sign that I need to focus on some of my network storage and booting things that I’ve thought were neat. Just pick up a shitty netbook with a serial port and I’m back up and running again, right? It’s too bad, some of those really great things you can do with lots of CPU power and RAM and speedy hard drives are pretty cool…but not so cool if your data is constantly at risk. Which it is – think about it – what if you lose your laptop? What if you drop it? What if you walk through a magnetic field? What if you, say install a trivial looking firmware update and your laptop just stops working? Then what? Well, better have good backups….whoops! I didn’t. Maybe I cursed myself by repeatedly inquiring about Time Capsules and getting one for cheap. In retrospect, I should’ve bought anything at all. A few hundred bucks feels like nothing to me right now. I already bought a drive to do my recovery on – and I didn’t even notice.

I remember hearing an MP3 of a tech support call – that the tech guys must have thought was hilarious – a distraught sounding guy calls tech support and mentions that his laptop was sent out for service and in the process of describing what has transpired, completely loses it on the phone and screams profanities. I remember being of mixed feelings when I heard that call – on the one side, as a tech guy, bonehead users are a pain, especially freaked-out bonehead users. But on the other side, I felt bad – “6 years of my fucking life!” was the phrase I heard. I think I’ve gotten away far, far easier. I’ve probably lost …oh, a month or two. A month or two of important time, that it’s going to hurt trying to recreate, but only a month or two. In some ways, a fresh start is an opportunity. Or, at least, that’s how I’m selling it to myself. Is that ‘Acceptance’, or ‘Bargaining’? Not sure.

So it’s probably going to be that I can save little bits of data I don’t care about, but the bulk of my stuff is gone. And I’ll probably just go back to using my new MBP, when it comes back from The Shop. But, in the meantime, while I’m computerless and a digital vagabond with no data, I will at least ponder the deeper meaning within The Cloud…

Recent Acquisitions

First off, my MacBook Air was not really mine. It was my prior company’s. That, plus the various thermal issues it had were getting to be too much for me. It’s performance was…well, a little laggy, and it had no hard drive space. That’s a whole bunch of bullshit I used to justify my company buying me a new MacBook Pro – I convinced the president to get it for me. Since said person is also me, that was not too hard.

And going from MBA to MBP – wow. The weight difference is enormous. This new bad boy is heavy. And the performance differences are pretty striking too (so much faster); but I think a lot of that is just the graphics card. I can’t really max out the CPU’s now, by doing anything ‘conventional’. The bigger display ‘feels’ more subjectively comfortable – more spacious, not so cramped. And not having to worry about hard drive storage for a while will be nice too. I can feel it getting pretty warm on my knees right now, as it’s been busy installing lots of stuff. Gonna have to be careful; don’t want to fry the Boys. edit – I think this is Spotlight doing indexing shit. ‘mds’ seems very busy. Perhaps it’s running across all the various files I’ve been installing. I wanted to get the RAM boosted to 4GB, which I think I will still do, but we’ll have to wait until it shows up at the Shop.

And thanks to everyone who staged a near-intervention to prevent me from getting a 17-inch MacBook Pro. I tend to pretty much go whichever way I’ve decided to go regardless of what anyone says; but when, like, 5 people all tell you “don’t do that, it’s stupid” even I have a hard time ignoring that advice. I got the 15, as advised, and am quite happy with it.

My iPhone’s battery life has gotten to the point now where I can yank it from the cradle around 8am or so, and by 6pm it’s run out of juice. That, plus not being able to power it down (stuck power button) meant that it was starting to be that time. 3G time. I tried as long as I could to avoid it – this will cost me another $10/mo, and I’m already miffed at having to pay so much and use so little. And I assume something new and wonderful and such will come out next June to make me feel stupid for having gotten this one. But I could wait no longer. Another conversation with The Big Cheese (still me) and my company got me an iPhone 3G. Now, I can’t say if this is my imagination or not…but it feels faster in operation – like, clicking stuff and so on. And, Apple – dudes – it is *not* cool to move my application icons around on restore. Put them back. I have like 6 or 7 pages of applications, and I’ve moved the icons around ‘just so’ in a way that is convenient for me. Moving them makes me unable to use my phone, for the most part. And the whole backup/restore process felt really…creaky to me. I didn’t feel comfortable and happy that all my data was going to get from old phone to new. I was actually surprised when it seemed to have. Of course, I have to reinit the prefs in a lot of my apps – but not all. And that’s at least something.

Rails on OS X. Don’t use the built-in Ruby (/usr/bin/ruby). Don’t go and install ports and use their ruby either (/opt/local/bin/port, /opt/local/bin/ruby). Go and get Ruby Enterprise Edition, install that, and then tell it to install mod_rails with /opt/ruby-enterprise-1.8.6-20080810/bin/gem install passenger . You can hook that into the built-in copy of apache, and it will work really well and use 33% less memory (or so ‘they’ claim…), and fork little worker thread thingees at will, and so on. I’m using it on my personal server and I find it to be pretty great – where I used to manually have to watch little mongrel thingees run and die and then go and restart them. And I have to watch memory usage balloon out for whatever the worst-case scenario is on how many requests will run. And I don’t have to put in funny Apache configs to proxy or tunnel or some other crap I don’t remember. I used the setting on my server months ago, so I don’t remember the awfulness of it, but I remember the sense of relief when I made the switch. Those Passenger dudes keep good care of their little fork of Ruby and their passenger package. It is good. If you get annoyed with those stupid long paths, symlink them to something more acceptable. Also if you want to get rid of it I think you just fling that one silly directory and you’re good to go.

Mac OS X Server

I am a huge fan of the Mac. I have been using them since the Mac Plus running – oh, I dunno, it was before system 6 and MultiFinder and all that. I’ve dabbled in PC’s, and am pretty good with them, but I love Macs. And I like Unix machines a lot too. I learned Linux In the days before the kernel was 1.0 – it was in the 0.9’s or something, I don’t remember. I ran Slackware in those days. Ah, the good ole days.

So I try to consider myself platform-agnostic. I can tell you now some things I really like about Windows boxes. Among which was the generally snappiness of them. I was running a Win2k box for a while (to help force me to test one of our application’s bugginess and behavior under the Dreaded Internet Explorer). It made me really envious. And, so long as I didn’t mess around with it too much, it performed well – especially so for a box with such low specs (as it was, I think I blogged about it before).

As such, it pains me terribly to say I fucking despise Mac OS X Server. I’m sorry, but Apple has completely blown it with this product. I don’t doubt that they are fine if you just do file and print, but this isn’t a Windows server, it’s a Mac server – it’s got Unix stuff in it – why can’t I make it do a whole bunch of things? And the answer is, because it is shit.

The number of individual problems I’ve had on OS X Server is too numerous to count. The stupid management applications crashing on me, or their effects not ‘kicking in’, or the fact that you can’t migrate NetInfo accounts to LDAP accounts, any number of things. The GUI ends up being obtuse and incomprehensible, and the command line is even more painful than that. I’ve always theorized that when you try and put a nice shiny GUI on top of an ugly (but efficient, and flexible) command line, the end result is always a terrible mishmash. I was hoping to be proved wrong with OS X server. And I have not been. The file system is shit. The Mail server is garbage. The web server – oh! the web server! – I have never seen Apache be so terribly crippled. I had to crawl around in config files and XML files for hours to repair our server, once. Awful. And we’ve taken explicit, careful pains to never mess with the command line or any binaries or anything – after all, it’s an OS X server, and we’re trying to do things the OS X way. What a disappointment.

Today, for example, I’m trying to set up a co-workers account so he can do SSH authentication to the server to run some simple SSH commands (having to do with Subversion, a version control system I’d like to switch us over to from CVS). I go into the management app, I go to my coworkers account, I see he has no ‘home’ set. That’s fine, he is not an SSH man, himself. So I try and set him one. Crash. I try and read mine so I can compare. Crash. I try and look at it again, it’s not one box for ‘what is your home’ it’s three boxes, and I can’t figure out what is what. And I’m not stupid. And any time I try and do anything to it, crash. What a fucking mess.

Now, don’t think this means I have any like for Windows servers. Because they’re just as bad – though possibly a bit less so, since they don’t have to do the “Shiny GUI to shitty command line translation” that OS X has to. To enable RIP routing on a FreeBSD box? (Mind you, I don’t know FreeBSD that well). set it to ‘yes’ in the conf file, and then launch it. Boom. New routes in routing table. Try to enable RIP on Win2k3 server? You have to enable routing and remote access (Telephony! What the fuck!), then add RIP for an interface, then all kinds of stuff – then all my route metrics are all freaky and inexplicably huge, until I find out that Windows is randomly mangling my route metrics based on interface speed (NB – win2k did not do that). What kind of lame-ass bullshit IS this? IIS also enjoys baffling and frustrating me and anyone else who is cursed with it.

Unix boxes, however, are mean. They just aren’t nice or friendly at all. Totally unapproachable. Compare an airplane cockpit with the driver’s seat in a car. The car you might be able to work out yourself, by playing with it. The airplane, you will not. There are 50,000 gajillion little controls for things. The car emphasizes just a few, and will let you get around. So the end result is it takes FOREVER to figure out what you’re doing on a Unix box, until you start getting the Zen of how it works and what its design are. You can do a hell of a lot on a Windows server or a Mac server without knowing what the hell you’re doing. And that has its advantages. And its disadvantages, when you mess with something you don’t understand and unleash unholy hell upon yourself. And Unix boxes will not only let you shoot yourself in the foot, they will load the gun and point it right at your foot, and take the safety off, and not say a word about it. Like I said, mean.

I do know this – any time I get to spec out or make any new server or computer for anyone that I have control over, it won’t be a Windows or Mac server. Maybe if it was something for simple file-and-print, and some email, I might. But not for anything nontrivial.

I should mention – it could be an issue with my own personal comfort level with these machines. I mean, I know Unix boxen pretty well, maybe not as well as I know the Windows and Mac boxen. But every time someone needs to refer to someone who knows more about these things, they always get referred to me. So it’s sad, but maybe I *do* know as much about these things as I do about the other. Because I assume there’s some bias in my knowledge here. But the scary thing is, there might not be.