I tried out Parallels desktop when it first came to Mac, back when it was just Windows in a box on my screen.  It was neat, but as I wasn’t freelancing at the time, there was no need for Windows on my computer.  Later on, when my side work did start up again, I got turned on to a free product called VirtualBox–which in all respects is a great product for its price tag.  I had seen the early iterations of Parallels Coherence feature by then–that is, the feature that allows individual Windows apps to appear alongside Mac apps, and VirtualBox’s “seamless” mode was much farther along at the time.  (VirtualBox definitely wins the vocab award: “Seamless” is a much better name for the feature than Coherence or VMWare’s buzzword, “Unity”.)

So Parallels fell off my radar, until a few days ago, when I was trying to find a way to run GuildWars on my Mac.  Turns out, Parallels runs DirectX 9 and VirtualBox doesn’t.  So, I downloaded the trial of Parallels, and it’s pretty cool.  Unfortunately, no, it didn’t meet my needs for a gaming machine, although it’s possible it would do the job on a newer model Mac.  (Aside from some weird texture issues, the only concern was framerate.)  But I have switched my web testing over to Parallels, and I don’t think I’ll be looking back.

Clockwise from Top Left: Firefox (Host), Chrome (Guest 1), IE6 (Guest 2), IE7 (Guest 1)

Clockwise from Top Left: Firefox (Host), Chrome (Guest 1), IE6 (Guest 2), IE7 (Guest 1)

Parallels has gone far beyond window integration (which is itself much-improved) to nearly true application integration.  I can set favorite Windows apps such as Internet Explorer (using the term “favorite” quite loosely) and they get saved to my dock.  Later on, I can click on an icon to launch and/or focus the app, just as I can do with a native Mac app.  I know I’m late to the game on this feature, but it’s such a relief for it to be automatic in Parallels…  I spent hours trying to write an AppleScript to do the same thing in VirtualBox–the closest I got was to restore the virtual machine to a particular state and launch it.

My current setup is a bit laggy–I have installed IE6 into its own virtual machine, and running both VMs side by side is lag city.  I am considering testing the old “Multiple IEs” hack to see if it will run in XP Service Pack 3 and, if so, I will just keep all of my Windows browsers in one basket.  (Otherwise…  IE6 on Windows 98?)

But under normal circumstances, it’s a cool experience.  Ther XP windows–what with their drop shadows, their playing nice with Exposé, the lack of a taskbar–look so comfortable on my Mac desktop it’s a bit eerie…  In fact, I tried the “silver” XP theme and, it was so incognito that I had to turn it back to the default blue in order to maintain sanity.

So, Parallels is how I get my Windows now.

Posted in Technology | 3 Comments

Broken Record: Firefox Bugfixes

Every time an update to Firefox is released, I hear the same conversation:

“Oh no, does this mean Firefox isn’t secure?”
“I think so…  There were six critical vulnerabilities in this release!”
“Did you know that more vulnerabilities were reported for Firefox last year than for any other browser?  Firefox had four times more vulnerabilities than Internet Explorer?”
“ROFL that’s why I just use IE.”

I really do hear this conversation every time, and unfortunately it’s an apples-to-oranges scenario.


Because Firefox has so many vulnerabilities and bugfixes, it must not be as secure as people think.


Firefox has so many publicly disclosed vulnerabilities because it is the most popular open-source browser.  This means thousands of people can look at the program code and see where there are vulnerabilities.  Compare this to IE, where only Microsoft programmers have access to the raw code.  If they discover a vulnerability, they don’t have to report it or even patch it until it becomes an active threat.  I’m guessing, in most cases, they don’t patch any but the most serious vulnerabilities, because it’s a waste of man-hours to attempt to perfect an old version of the browser.  (Most of their resources are probably focused on Internet Explorer 8 at this point.)

So of course Internet Explorer will have fewer disclosed vulnerabilities…  However, I’m willing to bet that a very high percentage of these vulnerabilities are actually exploited by hackers.  As for Firefox, the public bug tracker might be loaded with reported vulnerabilities, but I can count on a single hand the number of times these have translated to an actual, real-world exploit on the loose.

And more bugfixes is a good thing–it means Firefox is being patched and made secure more quickly than IE and other browsers.

If you still need convincing, try this:

  • Ask 10 Firefox users and 10 Internet Explorer users how frequently they have been infected by a virus or spyware in the past year.
  • Ask 10 Firefox advocates, who have forced their families and friends to switch to Firefox, if their family’s computer woes have increased or decreased since the change.

I have switched my entire family over, and the only one who’s had problems is my Aunt, whose kids were smart enough to create an administrator account for themselves and undo the security I put in place, but not, apparently, smart enough to forego Internet Explorer.  I’ve run Firefox for the past five years at work, and the only time I’ve gotten a virus is the five minutes I loaned my laptop to someone else, after which they handed it back with…  sigh…  Internet Explorer up and running.  Do the math.

Posted in Broken Records, Technology | Leave a comment

Join the Cult: Object-Oriented Programming

Last week, my wife decided to start learning PHP.  And no, she’s not just trying to humor me–pssh, like she’d do that.  She’s burning to code some roleplay generators.  It’s a bit of a blast, sitting and coding side-by-side.  (And not just because I get to work on Escher without feeling guilty!) She’s doing a great job, picking it up like lint, and it’s fun to see her sense of accomplishment.  I miss that sort of instant gratification that came in old days, before PHP became a paying gig and I started counting lines of code by the tens of thousands.  Say what you will about rapid development frameworks…  Nothing beats the efficiency of a single-file script running linear or functional code and inline HTML.

For a small project, at least.  Since she’s been doing so incredibly well, I thought I’d try and show her a thing or two about PHP classes so she can get her code more compartmentalized and portable.  After all, in the past week, this endeavor has grown from a simple desire for a few one-off scripts to the possibility to create our own RPG system and an accompanying website.  So we might as well start thinking ahead, and no better way than OOP, right?

Oh, wait…

OOPs.  (Yeah, I went there.)

In my arrogance, I’d forgotten something significant about object-oriented programming.  Nevermind that OOP is a godsend, that for large projects it makes things exponentially more manageable, or that we proabably all use a lot of OOP whether we know it or not, thanks to all the libraries and database wrappers and even a lot of built-in PHP5 functionality.  There’s something off-putting about OOP when you aren’t already coding it.  It seems unnecessarily complicated, and there are really no great & simple ways to describe its advantages.

Heck…  I hated OOP.  With a passion. I avoided it for years, and managed to build a pretty respectable website without it.  OOP was just a cult, and they were never gonna suck me in.  Well, now look at me.  I’ve joined the cult, I’m sporting the weird haircut, and I’m sippin’ the koolaid daily.

So, how can I explain OOP to my wife in a way that makes sense?  (Not makes-sense makes-sense, but makes-sense why-should-she-bother?)  The real-world analogies never worked for me.  (“You’ve got a building object, and a door object, and maybe we want to extend a door object to have a lock…  yadda yadda…”)  Even still, I find that those analogies actually screw up my perspective on a project, I think because physical hierarchy and structure is just plain different from programmatic hierarchy and structure.

I think, perhaps, the best analogy for OOP programming might actually be non-OOP programming.  Functional programming, at least.  The automation and portability provided by writing our own functions is not difficult to see first-hand.  OOP actually behaves in a very similar manner, and takes our portability to the next level.

Continue reading

Posted in Programming | Leave a comment

New Theme: Fusion

I’ve installed a new theme for the blog: Fusion by Digital Nature.

The layout and positioning are not quite to my tastes, but the subdued, neutral matte color scheme is right up my alley at the moment.  I’ve tweaked a few elements–sidebar width, search bar, header height, etc.–to be a bit more compact.

I had wanted to design my own theme, but I decided to swallow my pride and just pick one, because I don’t want this blog to feel like work, and I’ll never write here if I feel like it’s unfinished.  So this will do for now.  Perhaps I’ll build my own theme when & if I convert this blog from WordPress over to Escher.

Posted in Site Updates | Leave a comment

Hey, Somethin’ Worth Updatin’

Ok, nearly two months since my last update, sorry to the three people who read it. ;-) And I think you all know of my big news already, but it’s certainly still worthy of an update.

I’ve got a new job.

I’ve got a KICKASS new job, in fact.

Beginning December 19th, I will be the new Webmaster Programmer for Mesa Public Schools. I’m going to be dealing with all the assigned webmasters for each school, training them on how to use the software and design web pages, monitoring their activity, acting as the district Gestapo in dealing with the high school teams, and helping to develop new & improved websites and web applications at the district level. So basically getting paid to do what I do for free at home on my own websites, and doing what I’ve daydreamed of doing since being one of those rebel punk kids on the RMHS Web Team 5-6 years ago. (My how the tables have turned.)

My immediate boss is the Webmaster Supervisor, but it sounds like we’ll be working more as a team than as lord & serf, and he seems like a pretty cool guy. It’s a salary position–I’m not going to get specific about the amount here, but it’s more or less double what I’m paid now (skewing heavily towards ‘more’). Plus there are perks I didn’t even consider. My understanding is that I’ll be getting an office–yeah, a real office–complete with real walls, a door, and even a window (which is rare and a matter of luck & chance in this district), a new Dell, possibly a PowerMac G5 (or that might be a shared computer, I dunno), a new cellphone, a PDA, a notebook computer for travelling purposes, several complete software packages (Macromedia Studio, Adobe Photoshop, etc.) AND a complete duplicate software/network setup so that I can work in a simulated “district” environment from home if I need to.

I’m just now getting over the shock of actually being offered this job. As I’ve said before, I’m still half-expecting someone to tell me I’m delusional, that I was turned down for the job, and that I turned in my two-weeks notice over an imagined phone call. But no, I’m pretty sure it’s for real. :-P It’s crazy. In just a couple of months, I’m gonna be able to pay off all of my debt (save for the hefty but low-interest student loans) that I’ve barely made a dent in over two years. And what after that? It’s been suggested I try to buy a condo or something. Scary real-world stuff. Personally I hesitate to buy something on my own… I’d prefer to spend the next six months trying to acquire some semblance of a life, start dating again, maybe get to where I can split an apartment with someone, or else even split one with Phil (though I think he’d need a better job). But the job will definitely free me up to a load of new options… Hey, I can go camping or take road trips without feeling the bite on my account balance for two months afterwards.

Wow, just crazy.

Posted in LJ Archive | Leave a comment