petak, 28. rujna 2012.

The Macbook Pro hackfest

Intro

For some time now, I'm using a Macbook Pro (Model 8,2, Late 2011, 15 inch) and it's a very boring device most of the time. You cannot tweak it, improve it, tinker with it and change a lot of stuff because it's quite a limited ecosystem - it's basically designed to run Mac OS X and integrate with it in a best possible way found. Also it has been designed to work best with Apple branded extensions, accessories and peripherals. In a way, it's walled garden of functionality and efficiency conceived and designed by Apple's prime engineers.

To a standard, run-of-the-mill engineer, that may look a little boring because nothing can go wrong. And then you connect a Logitech mouse or a Dell display.

And everything goes wrong :)

Why hack?

I try to dive deeper into all computers I own because I like to do so and to push the hardware and software to its limits, even beyond Apple's specification or Apple's vision of consuming the device they sold you. Those laptops are designed to be consumer devices in the hands of a standard user, a productivity device in the hands of a power user, and a workstation for a developer/designer/video editor, etc - so it's a versatile device. It's only difficult to play games because it has substandard GPUs for that price, but playing on a laptop is a silly notion by itself as far as I'm concerned.

Since evolution of technology doesn't end, you can try replacing components to improve stuff - add more memory or replace a hard drive (if you buy it with one) with an SSD. That are performance improvements, and big ones, but does that change the functionality of the device? Of course not.

So what are my options?

Hack the laptop!

What the Hack!! So, what can I do?

Whatever you want.

That's a lot of stuff to do then. My choice is:

  • Do stuff with the bootloader - EFI hackfest
  • Do stuff with Windows
  • Do stuff with Linux
  • Play with virtual machines
  • Use esoteric/obscure features in OSX that only 0.1% of people use
  • Defy Apple by doing things differently from what they designed - faster but with more effort.
  • Nonstandard peripherals.
Some of those things are very interesting, for example EFI (Extensible Firmware Interface), that is very much hidden from the user (because of the "walled garden" motto) but very very useful to know. As one of the more obscure features, Internet sharing is also pretty useful as it will turn your MBP to a access point in one of two ways depending on what connects to the network. Actually I like to call this stuff Network Connection Sharing, since you can connect other devices to the network shared by the MBP.

But my favorite is a native, non-BIOS emulated mode of installing Windows 7/8 via EFI. So far I've failed in doing that but new stuff is learned with every day. That taught me to do backups of drives, migrate installations, tinker with EFI executables and scripts and with Windows setup mode through EFI. With linux, it's easier to set-up but still very hard if you don't know what you're doing.

After a while, that stuff becomes more interesting than actually using the Mac. In the following posts, I'll make a few guides on how to hack specific parts of your Mac.

Endgame

Just don't listen to Apple on how to use it's computers. You can have a moderately good experience by using it but it will become boring just to stare in it, surf the web, chat, edit images, develop for iOS... it's a IT nightmare to have and advanced device and be limited by Apple's best practice.

Remember: someone else's (Apple's) best practice might not be your best practice. Explore and find what works best for you.