Wednesday, June 8, 2011

Conjure Runs in Lion

I have official, visual confirmation that Conjure runs in Lion with no problems.

So there. 

Sunday, June 5, 2011


I'm not selling out. But I've been asked a few times if that's really the Aero interface used for the help screen in Conjure. And the short answer is no, Aero is not an interface option on the Mac. But it's fairly easy to implement in an app.

That said, I do like the idea behind Aero. As humans, we are used to our eyes 'focusing' on things we're interested in. So this is definitely an interesting user interface concept.

I can see this being more useful for modal dialogs than other things, but I might add it as a feature for the Conjure desktop in 'focus' mode.

Saturday, June 4, 2011

Was News Corporation's giant sign actually hacked?

I don't think so. Don't get me wrong, I love a good act of public defiance. And I'm not a huge fan of Fox News. But I don't think this video is legit.

Here's how I used Conjure to come to this conclusion...

First, I looked for reference points and lines in the video that could be compared. It wasn't easy, since you only get about half a second of video zoomed in at the same distance as the final text is zoomed. But that's enough.

Next, I resized, rotated, and changed the alpha on the second image to match the points of reference on the first image...

Third, I looked for any dead giveaways. 

There are. With all of the reference points lined up, the replacement text is slightly larger than the original text. That could be the result of replacing one font with another one, or just showing it at a slightly larger zoom level. The visual distortion on the screen between when it's normally running, and when it's 'hacked', is pretty considerable, and suggests this is just a giant LCD screen. But most screen hacks like this only aim to replace the text itself, not the font, and they usually don't change the font size either. 

So it looks a little fake, to me. 

Speed up XCode with one click.

There's one simple little thing you can do in XCode that will dramatically speed up your builds. Most experienced developers know this, because once you do it, it changes build times, especially for small projects and tests, dramatically. So you might know this. I think I knew about it a few times, but I keep forgetting to turn it on. So this blog entry is as much a reminder to myself, as it is an attempt to help anyone else who might've forgotten it.

Build time without magic powers activated: 16 seconds.
Build time with magic powers activated: 1 second.

See that? That 16 seconds may not sound like much to most people, but when you're trying to solve some specific problem, and you're in the middle of a build/debug/repeat cycle, that 16 seconds gets real damned old, real damned fast.

Alright, here's the magic...
Precompile Prefix Header

Yeah, it's that simple. 

Thursday, June 2, 2011

Mac Viruses and Other Stupid Hoaxes

I'm writing this to clear up a bit of confusion and panic over the Mac 'virus' scene. The latest trojan (not a virus) is loosely referred to as 'MacDefender', and masquerades as a Mac anti-virus app. This is not the end of the world. It's not even the beginning of the end.

But first, a little background info...

A Virus is a piece of software that spreads by making a copy of itself, when it's placed on a new computer. Usually they have some ulterior motive. Some viruses send out spam. Some viruses delete your files. Some do nothing at all. The distinction here is that a virus has to make copies of itself (self-replication) in order to spread.

Your computer gets 'infected', usually without you knowing it, by having a virus installed on your machine usually without any human intervention. And yes, there were Mac viruses, long ago.

A trojan is a piece of software that spreads by acting like it's harmless, then doing something bad once it's installed and running on your computer. Trojans usually require human intervention. And Trojans usually do something bad, like look for credit card info and send it to the trojan's author, or install adware on your computer. Trojans don't usually self-replicate. They are usually one-trick ponies.

MacDefender requires that the user downloads and installs the MacDefender program, even walking it through the installation process. In some variations, the download occurs immediately when you visit a particular page. But the trick here is that at all times, you'll be faced with this window, at some point.

And when you are, just go to the File menu and *quit* the installer.

How Apple Can Stop This Madness Immediately 
(and how you can, too)

There's a setting in Safari, that automatically opens files that the browser thinks are 'safe'. Like some types of installers, apparently. If you use Safari, open the Preferences window and turn this off.

Problem solved in one step. 

This isn't the first time Mac users have been faced with crap like this. There was the QuickTime Autoplay virus back in the olden days, which was similarly stupid. When Apple finally turned off that feature, the last of the true 'Mac viruses' died off.

Why aren't there more Mac viruses? No one actually knows. The OS has security holes, but Apple patches them fairly quickly. And security 'experts' are quick to jump on every single security hole and announce to the world that the sky is falling. That's just how security experts behave, though. So far, the sky's still up there. So they were all wrong.

Maybe it's the small market share! No, there were Mac viruses in the olden days, when there were far fewer Macs in the market, and they had a much smaller market share. Many virus authors write them for fame. Imagine the fame associated with being the first author of a real Mac virus! Well, it's been about a decade now, since OSX started shipping with every new Mac. You'd think they'd have figured it out in 10 years, if it was possible.

To be honest, I've never heard a good explanation for why there aren't more Mac viruses.

So what did Apple do? They posted this tidbit, about how to remove MacDefender if you have it.

Then, in a software update, they included a thing in the operating system that allows the user's machine to get daily updates for malware 'signatures', without requiring a full system update. As a result, if your software is up to date, you'll see this instead, if you download MacDefender, or any of its variants...

Apple has responded to this particular one in a bizarre fashion. Rather than just seal off the vector (by turning that auto-open feature off by default in the software update), they added this, so they can selectively choose which files are 'safe' and which ones aren't. And Apple can update this as often as they want, so your Mac is constantly up to date.

This presents an interesting challenge to the hacker community. Apple can afford to pay a guy to change a few names in a file every day. Can the guy(s?) who wrote MacDefender afford to change their app often and enough to no longer be caught by Apple's detector, all the while finding new domains on the web to post the updated MacDefender trojan to?

Time will tell, I suppose. If Apple gets frustrated, they can always slam the door shut. But that's what I expected them to do. They don't have to play the cat and mouse game. So why do this? It almost seems like the cat is toying with this mouse.