Posts Tagged ‘windows’

10.6.3 update on Hackintosh – Success

Monday, March 29th, 2010

I updated my Hackintosh to 10.6.3 without issue today — I figured if I’d spent all that time & effort into making my machine “just work”, what was the point if I didn’t try updates?  (I have Windows as a reliable backup on another disk).  Anyway, it worked flawlessly — so, one anecdote in the “plus” column.

Hackintosh – it’s alive!

Monday, March 8th, 2010

My Core i7 950-based Hackintosh is alive.  I’m using a Gigabyte GA-X58A-UD5 motherboard, a D-Link DWA-556 wireless card, and an nvidia GTX 260 video card.  To install, I used Empire EFI 1.85 r2 to bootstrap the retail 10.6 DVD, which I own.  I had to provide the “GraphicsEnabler=Y PciRoot=1” options to the Empire EFI loader to successfully boot the DVD.  Once installed, I used the Chameleon 2.0 rc4 boot loader from a USB stick (Chameleon cannot boot DVDs directly, or else I’d have tried that first) to boot my machine.  As to be expected, there were several caveats along the way.

First, I had to patch my dsdt (basically, BIOS-level device description table) to be compatible with Chameleon and other EFI-translation layers to provide EFI services to Mac OS.  I followed the general guidelines for similar Gigabyte boards here.  I used the intel “iasl” compiler with Ubuntu 9.10 on my machine to retrieve the BIOS’s regular dsdt, decompile it, edit, and recompile.  With my edited dsdt, I have native power-management functionality (rather than using a null driver that effectively makes your CPU run at maximum power-consumption levels all the time).  I also have many of my motherboard’s devices working, including Ethernet, USB, and obviously SATA.  Shutdown works with just my patched dsdt, but rebooting does not.  For that, i had to install a snow-leopard compatible version of the OpenHaltRestart driver.  For sound, I used the open-source voodoohda driver, which works just fine.  My graphics “just work” with the GraphicsEnabler=Y option, though switching resolutions in games does not seem to function as desired.  That said, I don’t really care, because I only ever use my display at native resolution.  My wireless card is identified as an Airport Extreme, as I was very careful to get one with the exact same Atheros chipset as those used in Macintosh hardware.  I use the fakesmc 2.5 driver to enable some platform devices necessary for booting MacOS, but other than the OpenHaltRestart and voodoohda drivers, everything else is vanilla, stock MacOS with no other modifications.  I updated to 10.6.2 without issue.

I did note, however, that Chameleon seems to default to attempting to boot the 64-bit version of the MacOS kernel on my hardware, which is nonsensical.  I had to force the 32-bit kernel in order to make my wireless card work, as Apple does not provide a 64-bit version of the driver.  I do not understand the fascination with the 64-bit kernel within the hackintosh community.  You’ll find lots of people bitching about a lack of a 64-bit driver for this, that, or the other.  As people who are actively modifying OS-level software — especially the MacOS kernel — the people writing the software, at least, should know that the 64-bit kernel buys you very little in terms of functionality on MacOS.  MacOS can address more than 4 GB of RAM using the 32-bit kernel via PAE.  Further, MacOS seamlessly supports 64-bit applications (as well as 32-bit applications) with large-RAM support on its 32-bit kernel.  No benchmark data shows any advantage on MacOS with a 64-bit kernel compared to a 32-bit kernel.  (Yes, there is overhead switching between modes of execution, so syscall-heavy code can suffer, which is why Xserves default to having the 64-bit kernel on. However, my desktop — even with heavy graphics-card use — does not show this to be an issue).  Attempting to default to the 32-bit kernel only reduces compatibility with drivers, for no actual normal-use benefit.

I’m using the F4 version of the BIOS for my motherboard, which is the newest.  I did have quite the scare with updating my BIOS, however.  I flashed it from a USB stick that I’d installed FreeDOS on.  The flash appeared to be successful, according to the program’s results, but upon reboot my motherboard appeared totally dead.  It wouldn’t give me anything on screen, it wouldn’t provide any beeps, and just seemed utterly dead.  The on-board boot status code LED indicated that it was constantly resetting itself, going back and forth between reset and initial memory tests.  I reseated my add-in cards, reseated my RAM, and still, the same result.  Finally I reset the BIOS variables (“CMOS” — an outdated misnomer if there ever was one), and thankfully it worked.  I was not looking forward to the prospect of returning a motherboard to newegg, but thankfully, it didn’t come to that.

Also, I’m glad I decided to go with the 950 rather than the 920 processor.  Apparently newegg got burned with a batch of counterfeit 920 processors last week, which is when mine would have arrived.

On the Windows front, I installed 64-bit Windows 7 (which I bought on sale at launch, knowing I’d need a copy anyway eventually) later, which went smoothly.  I disabled the annoying aspects of the hideously unusable menu-bar, basically making the menu function like Windows Vista (which I actually like).  It does have some minor improvements versus Windows Vista, particularly with simplified network configuration.  That said, it’s really just Windows Vista and an annoying menu bar.  Yes, the compatibility-mode feature (running Windows XP sp3 in a VM for a program) is a nice new addition, but for most users, this is not a big deal.  Most programs have been updated to run with Vista, and so Windows 7 benefits from the perception that “everything runs better”.  Actually, everything runs the same as it did with Windows Vista, now that developers (both 3rd-party and Microsoft) have finally updated most everything to stop doing nasty things like scribble on global, machine-wide registry variables.  Regarding multibooting, I used 2 separate drives for MacOS and for Windows.  Windows still cannot boot a gpt-partitioned drive, and I wanted to use native gpt partitioning for MacOS.  During Windows installation, I disconnected my MacOS drive (which I have since installed the Chameleon bootloader on to, obviating the need for a USB stick on each boot) to avoid Windows writing into the MBR of my MacOS drive.  After successfully installing, I reconnected my drive, and Chameleon can correctly select and boot Windows 7 just fine (though you do have to select the “System Reserved” partition to boot, which contains the Windows 7 boot loader).  I still need to install FreeBSD on this beast, but overall, I’m quite happy with the machine and with the software results.

Hackintosh attempt: begun

Wednesday, February 24th, 2010

I’ve really wanted to buy a new Mac Pro. Really. I have the money. I could afford one if I wanted. (That said, I don’t like wasting money… who does?) I appreciate Apple’s attention to design and, normally, functionality. However, Apple has completely screwed around since the Intel changeover on their “Pro” line of computers. It’s late February. Nearly one year since the release of the beleaguered i7 Mac Pros. I cannot justify spending $3850 for the same hardware I can build myself for $1800. I just can’t.

So, I’m willing to cut the cord from Apple. I’ve ordered a “hackintosh”-compatible Gigabyte X58 motherboard, i7 950 processor, and corresponding peripherals, and hopefully it’ll actually work with the Chameleon bootloader. I’ll post back here if it does. (I bought a family pack of OS X 10.5 *and* the Snow Leopard upgrade, so I’m mostly covered on the licensing front… except for the obnoxious “Apple-branding” clause of the EULA).

The objective of this project is to get as close to an unmodified, retail build of MacOS as possible. We’ll see if it happens, but frankly, I’ll live if it doesn’t work out. I’ll just use FreeBSD and Windows (for gaming), if all else fails. Apple has pretty much turned their back on “Pro” developers like me. Updating their Pro line of hardware (and pricing) once every 16-18 months, given Intel’s update cycle, is pretentious and obnoxious. Worse, Apple is obviously more concerned with the faux-mobile computing market of the “iPad” (read: iPod Touch Maximum Edition) than they are with making reliable, high-performance computers anymore. Read the horror stories with the 27″ iMac sometime — good luck convincing me that Apple gives a shit about computers anymore. Or, the fact that they took a year to fix a serious performance problem with their i7 Mac Pros. Or, that they capriciously provide nonstandard power connectors for video cards just to throw up an obnoxious obstacle against modularly upgrading (software still required anyway!) the ALLEGEDLY MODULARLY UPGRADEABLE MAC PRO!

So, to hell with Apple. I’ll try hackintoshin’ it, and I’ll see what happens. But if it doesn’t work out, I’ll live. And I know, I know, Apple doesn’t give a crap about losing a sale from someone like me, despite the 3 Apple computers and 4 iPods in my household. I get it. They don’t give a shit. The feeling is mutual.

Windows 7 hype annoys me

Monday, October 12th, 2009

Windows 7’s launch is impending, and the review sites are frothing with praise (specifically, ZDNet).  You can’t swing a dead cat without hitting someone in technology talking about how awesome Windows 7 is, how it totally rights Microsoft’s ship after Vista.  I’ve run the RC version of Windows 7, and I gotta say, I don’t see the big deal — at all.  The interface is nothing short of irritating.  It looks like what the gnome folks would come up with if you asked them to copy KDE.  It’s seriously that bad.  The knock-off version of the dock/taskbar?  Lame.  Could they waste more space around taskbar icons, by the way?  It probably wouldn’t be as annoying if it wasn’t so goddamn huge, but it is.  But, that’s cosmetic.  What about the nuts and bolts?

Here’s the deal:  Windows 7 is Windows Vista plus 3 years and a shittier interface.  That’s it.  The driver model:  the same.  The security model:  the same.  64-bit compatibility requirements for software vendors?  (You can’t ship a program with a Windows 7 compatibility logo claim unless it works under both versions):  Check, same as Vista.  Graphical whiz-bang enhancements?  Same.  UAC?  Same.  Windows 7 is better about not having so many different versions (Vista Home Basic/Home Premium/Business/Ultimate/Enterprise?  Really?), but that’s not something I care about that much.  (Windows 7 Professional will do the trick for me — I can log on to my work domain if I need, and it has Windows Media Center).  The notable differences seem to be that they added “XP compatibility mode” (running your Windows XP-compatible programs in an XP Virtual Machine — only available on some versions of Windows 7), Digital Cable Tuners (cablecard-capable tuners) will no longer require OEM certification (ie, they will work on homebrew computers), and allegedly managing networks is more intuitive than Vista’s god-awful Network and Sharing Center.  Oh, and they fuglified the desktop interface.

Ok, so these are nontrivial differences.   But, they aren’t the focus of the hype, previews, and reviews of Windows 7.  Instead, the coverage mostly talks about how much more “streamlined” Windows 7 is, and how it won’t have the pitfalls of Vista.  Why?  Because drivers and applications have caught up to the new API requirements of Windows Vista, and these are the same requirements for Windows 7.  Applications can no longer write willy-nilly into the registry, and drivers have to comply with a newer version of Microsoft’s driver API (ie, the revision introduced for Vista).  In other words, the benefits that reviewers believe are the primary benefits of Windows 7 are available today in Windows Vista, for no other reason than applications & drivers are now compatible.

I actually like Windows Vista.  I’ve seen the compatibility problems that people complain about, but I knew that those were the hallmarks of poorly written applications.  Also, most applications seemed to be updated within 6 months of Vista’s launch.  I use Vista Enterprise at work every day, and things generally work fine.  (At home, wifi mysteriously craps out.  There are other general Windows annoyances.  As far as I can tell, none of that is dealt with in Windows 7).

Microsoft got destroyed in the press and in (followup) online reviews because people were used to their poorly written applications from Windows Version X working in Windows Version X + 1.  Vista changed all of that, and for the better.  The security measures implemented in Vista were badly needed, and they did break quite a few drivers and applications.  Users seem to have all decided this was Microsoft’s fault.  In a way, it was, but not because “Vista sucks”.  It was Microsoft’s fault because they rolled out bad solutions beforehand and reaped the rewards when they had to fix it.  Yeah yeah, Vista performance was slightly worse than XP — it ran like crap on old hardware.  That’s all true.  But that’s always been true for Windows upgrades.  (Good luck installing Windows XP on Windows 98-class hardware).  Windows 7 will likely be successful because it isn’t a major deviation from the prior version of Windows that every major vendor has been writing to.  This is exactly why all the “best version of Windows ever!” hype regarding Windows 7 is so frustrating, but I suppose I should expect it to continue.

New-computer choices

Monday, September 28th, 2009

My 2006 Core 2 Duo iMac is showing its age a bit (well, compared to Nehalem-class hardware), and I’m wanting to get a new computer, but the choices here are not easy.  My requirements for my primary operating system are:

  1. Must support an Exchange 2007 client
  2. Must support my work VPN
  3. Must be reliable

For now, #1 whittles things down to either Windows or MacOS.  (I’ve used wine to run outlook.  It crashes randomly).  If an open-source Exchange 2007 client comes about soon (it may be possible considering ongoing interoperability legal action in Europe, and I’ve read rumors of a Google-developed library), this might no longer be true.  Both Windows and MacOS support my VPN, so that’s a nonissue.  Reliability is the remaining issue.  At work, my desktop is Windows, and for the most part, it works.  That said, every now & then I have to waste about 2 hours out of my day with some bullshit issue (updates stop working, networking goes batty, stuff like that), and my time is valuable.  2 hours of time at home is 2 hours not spent with my family, or not regrouping after a day at work, or possibly 2 hours not working when I need to be.  Hence, I’m strongly leaning toward a new Mac, but the only hardware I’m remotely interested in right now is a Mac Pro, which costs more than $1000 more than a Dell of equivalent class.  (Yeah yeah, they use Xeons versus regular Core i7s.  I’ve seen the benchmarks.  BFD).  Even so, it might be worth it, but this is a tough choice to make — if only Apple had the mythical midrange tower (the laptop-component-featuring iMac does not count).  I may be going back to running Windows primarily at home, and I’m not too thrilled about that.

Spyware on Digsby

Monday, August 17th, 2009

I recently discovered that my former IM client, Digsby, was leasing out my computer for computational work without my explicit consent.  Since I don’t like the idea of possibly donating my computer (least of all, my work computer) to God-knows-who for God-knows-what project, I ditched it.  (This is usually against the IT policy of every major company I’ve ever seen — even benign things like folding@home are forbidden, because they suck up the company’s electricity, and companies want their resources used to make money).  I went back to Pidgin in the interim, which has a craptastic interface but is functional in a Soviet-automobile sort of way.  It works with AIM, Yahoo, and Jabber, and supports my company proxy — which is the bare minimum of functionality for me.  However, I discovered that Trillian has released a new IM client, Astra, which I’m now using and love so far.  As I use Astra more, I’ll follow up on it.

The Digby folks were rather non-specific in their description of what it does, offering feel-good descriptions like cancer research.  And yes, it’s true that this was disclosed in a blog post quite a while ago.  The problem is that I shouldn’t have to read some developer blog post to know that your software isn’t nefariously using my resources once I install your program.  It’s true that any time you install any software on your computer, some level of trust is required.  And yes, Digsby is free — but they also pitch themselves as some sort of fast-moving community of software developers, so it was never clear that they were leveraging their users for anything more than testing and community-building.  Seeing as how they kind of present themselves as the Facebook/Myspace of IM and seeing as how those other services are free (without nefarious strings attached), they have an obligation to prominently disclose behavior which very clearly deviates from a standard agreement between users and software publishers.  Burying this information with nonspecific descriptions in a click-through EULA which nobody reads (and whose legal basis has not been evaluated in court) does not count.  At very least, it’s unethical.

I’m sure some people are fine with what Digsby did, and they don’t mind running the so-called “research module”.  The problem is that none of Digsby’s explanations of the research module make any sense.  They first explain what grid computing is, then they give some examples of grid computing.  The clear intention is to leave the reader with the belief that what your computer will be doing is “things like” cancer research.  Hell, they call their distributed-computing client a “research module”.  Their intent to deceive is clear.  From their description:

There are numerous research projects that require a massive amount of computing power to complete.  One option is to run these on a supercomputer but there are very few of these in the world and renting time on them is very expensive.  Another option is to break the problem up into many little pieces so each of the little pieces can run in parallel on thousands or even hundreds of thousands of regular computers.  This is called Grid Computing.

A few examples of popular grid computing projects are: Help Conquer Cancer, Discovering Dengue Drugs, FightAIDS@Home, and The Clean Energy Project.  Besides these non-profit projects, there are many commercial applications for grid computing such as pharmaceutical drug discovery, economic forecasting, and seismic analysis.

Now that you have an understanding of grid computing, let’s go over how this fits into Digsby.  We are testing a revenue model that conducts research similar to the projects mentioned above while your computer is idle.  Unlike the installer revenue model above, which is commonly seen in many products, this is much more unique so we’d like to clarify what it does and how it works.

[2 paragraphs removed]

The idea is to make this both a revenue model and a feature!  Some of the research Digsby conducts may be for non-profit projects like the ones mentioned above and some may be for paid projects, which will help us keep Digsby completely free.  So, using this module keeps Digsby free and contributes to research projects that will make the world a better place. [emphasis mine]

So, first they explain that they’re doing grid computing with their “research module”.  Then they give some examples of grid computing, all which sound great and which happen to be research.  “Research”, “research module” — the average person would read this and conclude that this thing is doing AIDS research in the background, and Digsby’s being paid for it.  Except, those projects don’t work that way.  They take unpaid volunteers who install those clients on computers, typically at universities.  They don’t pay people.

So who does pay people for computationally intensive work?  Though it could be relatively harmless things, I have no hope of knowing, because Digsby will not disclose who their customers (no, not you, the people actually paying for their users’ compute power) are nor what, specifically, their applications are.  Digsby has told you what some “examples” of research are that sound great, but they haven’t told you the ones that you probably wouldn’t be so enthusiastic about.  Those examples include data-mining/analysis or prime-number factorization for decryption.  Possible customers include telecommunications companies, the NSA, the CIA, or foreign governments.  Those are all customers that would pay.  A more harmless example of for-pay distributed computing would be a security firm such as RSA wanting to test a new algorithm against distributed attack, but again, the problem is we’ve no idea of knowing who it is.  And because many of these examples would be fairly secret, the Digsby developers themselves probably don’t know, which raises all sorts of concerns.

There are numerous research projects that require a massive amount of computing power to complete.  One option is to run these on a supercomputer but there are very few of these in the world and renting time on them is very expensive.  Another option is to break the problem up into many little pieces so each of the little pieces can run in parallel on thousands or even hundreds of thousands of regular computers.  This is called Grid Computing.

A few examples of popular grid computing projects are: Help Conquer Cancer, Discovering Dengue Drugs, FightAIDS@Home, and The Clean Energy Project.  Besides these non-profit projects, there are many commercial applications for grid computing such as pharmaceutical drug discovery, economic forecasting, and seismic analysis.

Now that you have an understanding of grid computing, let’s go over how this fits into Digsby.  We are testing a revenue model that conducts research similar to the projects mentioned above while your computer is idle.  Unlike the installer revenue model above, which is commonly seen in many products, this is much more unique so we’d like to clarify what it does and how it works.