Welcome to the QA Tech-Tips blog!

Some see things as they are, and ask "Why?"   I dream things that never were, and ask "Why Not".  
Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.  
Old Chinese Proverb

Tuesday, January 24, 2012

The "Hackintosh" Mac Clone


Here's an odd-ball one for you.

It seems everywhere you turn around, there is someone, or something, talking about the Mac.

Of course, at Mondo bucks per piece if you decide to go out and buy a Mac, buying a Mac "just for the %$#@ of it" is not a reasonable proposition.

Or, perhaps you want to do some preliminary testing on a Mac, because your product is supposed to support the Mac platform as well - yet you don't want to spend the time fussing with unfamiliar, (and expensive!), hardware just to find out that the latest Dev. release isn't worth the powder to blow it to Hell.

The solution is to build a Mac clone using a PC.

I will warn you, this is NOT a trivial undertaking.  You will have to look at the data and decide for yourself if you want to invest the time and effort required to build a Mac clone, or if you should just bite the bullet and buy the darn Mac outright.



Fair warning:
Assuming you actually go out and purchase a legitimate copy of the actual software to create a Mac Clone, creating the Mac Clone, (though not a copyright violation), is still technically a violation of Apple's EULA - which says you cannot install Apple software on anything but Apple supplied hardware.

By the same token, slipstreaming a Windows installation with the latest Service Packs is also "technically" a violation of the Windows EULA.  However everyone does that all the time - and there are even Microsoft sites that explain how to do it. . .  So this is something you will have to decide for yourself.

Also note:  I've never done this myself.  I am just passing along some interesting information that I found while on the web wandering around.  As a result, Your Mileage May Vary.  And don't forget backups before you do anything weird like this on your machine.



Now that we have that little blurb out of the way. . . .

It IS possible to build a Mac clone.  The reason is that - though the Mac software is very tightly bound to the Apple hardware, the hardware actually used is not unlike the hardware on a PC.

They use NVIDIA or ATI video hardware, just like the PC.
They use optical media drives - CD / DVD / DVD-DL / Blu-Ray - just like the PC's use.
They use Intel processors - that use architectures "just like" the PC's have.  (That is, unless you have an ancient OS-X release for the Power PC, and that doesn't count anyway.)
The sound hardware is, (often), very similar to - or exactly the same as - that used by a PC.

A USB mouse is a USB mouse is a USB mouse.  Likewise for the keyboard.  If you REALLY want to immerse yourself into the "Mac" experience, you can go out and buy "Gen-u-ine" Mac mice and keyboards that have all the special Mac keys with the four-leaf clovers on them.

So, what's the difference?

The folks at Apple maintain very tight control over the design and manufacture of their machines - ergo, the hardware environment is absolutely stable - at least as far as the operating system is concerned.

Because of this they can know exactly what to expect, and exactly what the range of variability is, when they design the software.  As opposed to the PC crowd where the O/S has to have forty-zillion drivers on hand to handle the wide variation in possible hardware configurations.

And because of THAT little factoid, Apple can absolutely guarantee that their software will install - and run - on their hardware with an absolute minimum of tweaking - if any at all.

The other side of this is that PC hardware is not tightly bound to the Apple's software - and because of this it's just not possible to wave a magic wand and turn your PC into a Mac.  There are many hoops you have to jump through to do this task - and the folks at Apple hope and believe that most everyone is too lazy to make this effort - and they will choose to just spend the bucks needed to buy the genuine article.



Now that all of this has been said, let's get down to the dirty work.

Unfortunately, I cannot give you a "blow-by-blow" detailed spec on how to do it, as everyone's PC is potentially different.  What I CAN, and will do is give you guidance along the path and provide links to web sites that get into the Gory Details.

The first thing you will need to do is assess your hardware; and the best place to start is at some of the "Hardware Compatibility Lists" out there.  The OSX-86 Project Website has a pretty impressive list.  Though it's for the 10.6.5 version, you should be able to get pretty close with the list as it is.  At Ahsantasneem's "BLOG OUT LOUD" site they have a pretty comprehensive list of hardware - listed by version - along with links to various "gotcha's" like the EFT, and DSDT file - which you will need.

I did a dogpile search on "apple hardware compatibility list" and I received a bunch of interesting "hits" on that topic.  You may want to check it out.

Once you have verified that your hardware is compatible, (and that you can get drivers for this stuff!), you can proceed to either build up a system from scratch, or begin the installation process on your existing hrdware.  A good tutorial for that process can be found on the "makeuseof" web site.  It details all the things you need to know about configuring the motherboard you have selected, including BIOS settings, hardware gotcha's, and stuff like that.  Tonymac's web site also has good information - links to useful utilities - and a few caveats that the first site missed.  Tonymac mentions that you should not install with more than four gigs of memory in place.  The first site didn't mention that, so maybe YMMV?  I dunno.

One other caveat is that the normal, "plain vanilla" PC cannot boot from a Mac installation disk because the disk formats are totally different.  Instead of using the ISO9660, (et. al.) format, they use the "HPFS" format, which a PC cannot read on startup.  The solution to that problem is to use tonymac's "'startup wedge" software application, iBoot.  You boot this application, and it allows you to insert the Mac-formatted CD/DVD and continue the boot process from there.  (This site requires registration to download stuff. . . .)

After that, following the instructions on the makeuseof web site, you actually begin the installation.

Further down, after the installation is complete, you will, almost certainly, want to make use of the program "Multibeast", (also available on tonymac's site), to do some of the internal tweaks you need to do.

There are other things you have to do - one important one is the "DSDT" file, which describes to the OS how to use the hardware you have.  Very Important!  Both of the tutorials have site links for DSDT files, and there is another great site with a good tutorial on how to find, edit, and re-compile a custom DSDT file for your specific hardware.

Update:  "C" left a very interesting reply to this article, (see below), and mentioned his own blog:
http://www.macbreaker.com/2012/01/is-your-computer-hackintosh-compatible.html 

I popped on over to his site - it is excellent! - and he pulls together information and advice, both from his personal experiences and the advice from other Pillars Of Wisdom on this topic.

If you are seriously thinking of making a "Hackintosh" system, I would consider his site an absolute MUST READ on this topic. 

I have never built one of these myself, though I plan to, and I scrounged up a copy of Snow Leopard for just that reason.

One thing all the sites say, over and over and over again, is to use an entirely separate hard drive for this installation, as it needs to be formatted as an HPFS volume with a GUID partition table.  You can dedicate a specific machine to being a "Mac", or you can use a second - blank - hard drive for the Mac installation.

Once that's all done, you can worry about setting up a multi-boot environment and any other stuff you might want to play with..

It would be interesting to know how you make out, if you try this.

What say ye?

Jim (JR)

Friday, January 20, 2012

Are we being Soft SOPA'd?


Friends and followers,

I, normally, deliberately exclude political commentary and opinions here, as I feel that the usual crop of political Horse Hooey isn't relevant to the nature or mission of this blog.

Today, I feel compelled to make an exception to that rule.

The reason for this exception is the SOPA and PIPA acts presently making their way through Congress, as I feel that these bills represent an absolutely intolerable infringement on the very few personal liberties we still enjoy as Americans.

Both, or either one, of these bills would allow government and business leaders to arbitrarily block or limit access to a web site or domain if they claim, rightly or wrongly, that it, (allegedly), "hosts copyrighted content".

Though I also oppose on-line piracy and wanton copyright violation - the broad nature of these bills would allow various entities, (like the infamous RIAA), to shut down web sites for even the fair use of copyrighted works.

Wikipedia periodically includes copyrighted images or materials - in a much lower resolution - when used to illustrate or expand on a legitimate article.  A good example of this is the article entitled "Someday At Christmas" where a low resolution image of the album cover is used to expand upon and illustrate the article in question.  Though clearly a "fair use" under current copyright law, the RIAA and BMI could easily use that, under the provisions of the SOPA and PIP bills, to blank out all of Wikipedia.  Or close down their funding sources, which amounts to the same thing.

One of my own blog articles uses the cover of the August 30th, 2010 issue of Time Magazine in the exact same way, and for exactly the same fair-use purpose.  And my entire blog - if not all of Blogger.com - could be shut down for exactly the same reasons.

Before anyone cries "FOUL!", claiming that my fears are exaggerated and blown totally out of proportion, let me say that my opinion is not based on the rants-and-raves of those web-pundits, those bottom-feeders, who thrive and grow on muckrake journalism.

Instead, I have carefully researched both of these bills, read them in their entirety - cover to cover - thought both long and carefully about what they say, and how what they say can be used, and I have to admit being left with a chill running up and down my spine.

A chill that was only equaled by the first film of the legendary Why We Fight series of films published during WWII.  In it, the Fascist nature and policies of the German and Italian governments is laid bare for all to see.  This chill was caused by the uncanny resemblance of these two Fascist governments to the United States Government of today.  Please follow that link to a YouTube posting of that entire first film.  Watch it well, and fear.

In my own humble opinion, these bills represent Fascist Governance at it's absolute worst, and it would irretrievably damage the free flow of ideas and information that both the Internet, and this fine country of ours, is built upon.  The only thing missing, in my opinion, is a leader with a small mustache, screaming "Sieg Heil!"

This article is, very likely, the all-time record holder for the number of hyperlinks in a single article on my blog. This is deliberate. I want to illustrate, in a way that is easily readable and understandable, the reasons for my opposition to these bills.

I encourage you to follow each of the hyperlinks, view the content, and decide for yourself.

Hopefully, you will join me in opposition to these bills by using this Wikipedia link to contact your Congressmen and Senators.

Please?  The future of the Internet, and possibly even our entire country, may well depend on this.

What say ye?

Jim (JR)

Saturday, November 5, 2011

The Problem is "Obvious"
QA's Sucker-Punch


Many years ago when I was in college studying Calculus, the professor had a favorite line:  "It is intuitively obvious that. . . ."

He'd fill the blackboard with mathematical hieroglyphics that would give Einstein headaches, say "It is intuitively obvious that [something or other]", turn back to the blackboard and perform some seemingly magical manipulation whereupon the entire mess would collapse on itself with the answer being something like three and a half.  Needless to say this left the rest of us looking at each other like something had just zoned-in from The Outer Limits, thinking "What the !!! was that?!"

Sherlock Holmes, in one of his stories, (I forget which one), made a very pithy comment when he said "There is nothing more deceptive than an "obvious" fact"

This is a statement that should be permanently tattooed onto the palm of every QA individual in the world.

If I were to write a "Ten Commandments" for QA, part of it would be those words that should strike fear in the heart QA engineers and testers all over the world:
  • Always
  • Never
  • Every
  • Only
  • Assume
  • Obvious
I am sure there are others, but I just don't remember them right now.

Why are these words a problem?  Because these words are the flashing red strobe lights that warn us about assumptions involved in design, requirements, or test, and we need to remember that these assumptions may not be true all of the time.  In fact, they may signal a special case that is "assumed" to be true all of the time, or that something seemingly obvious to us is obvious to everyone else.

And THAT lies at the heart of QA's biggest failures.  It's like a politician looking you straight in the eye and saying "Trust me!"

In it's purest essence, whenever you hear a broad blanket statement about something or other, it signals a potential weakness that should be given extra scrutiny during test or verification.  In other words, we should be continually vigilant toward the "obvious", be it in requirements, design, or verification of what we do.

What say ye?

Jim (JR)

Friday, November 4, 2011

You Can't Get There From Here!
Mapped drives are not visible from an
elevated command prompt


This is another one of those "What WERE they smoking?" type of tech-tips.

Issue:
You are using either Vista (ye Gods!) or Win-7.
You have one or more mapped drives to external/networked resources.
You open an elevated command prompt and attempt to do something that requires access to the mapped drive.

Zzzzzzzzt!  "We're sorry, but thanks for playing!"

You will notice, rather rapidly, that "you can't get there from here" - that is, the command prompt window cannot see any of your mapped drive letters.  To be brutally honest about it, the command window CAN see the mapped letters. . . . it just won't let YOU have them!

(Note that there are reports from people saying that this won't work from a non-elevated command prompt too, but others claim that this is not an issue.  Your Mileage May Vary.)

If you search the Web you will see a mighty wailing and gnashing of teeth, with people waiting in line to beat Microsoft senseless over this issue.

There are two workarounds for this issue - though, in my opinion, these are UGLY hacks for a lack of functionality that should exist by default.

  • From an elevated command prompt, execute:
    net use [letter:] \\[system]\[share]
    Note that you cannot use the pre-existing mapped drive letter.  The command prompt won't let you use it by default, but complains if you try to map it within the command window.  Go figure!
    (Ref: http://tinyurl.com/6xlk664 - near the bottom of the page)

  • You can edit a Registry key:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
    by creating the a DWORD value of EnableLinkedConnections and setting it to "1"
    Though this works, sources at Microsoft claim that it opens potential security holes to cleverly written malware.
    (Ref: http://tinyurl.com/5sunjbb)

For those of you who are more paranoid about security, or if you want to write batch-files that are portable, I would suggest the first solution.  Otherwise, you can make the registry edit and take your chances.

To read all about it, along with Microsoft's response, here's the referenced article, http://tinyurl.com/5sunjbb
that discusses this issue in detail.

Sigh. . . .  You're damned if you do, and damned if you don't.

What say ye?

Jim (JR)