Running FreeBSD 7 in VMware Fusion 2

As promised, here’s a write-up of how I got VMware Fusion 2.0 and FreeBSD 7.0-RELEASE to play nicely with each other - or at least as nice as I could hope, I guess.

This guide is going to assume you are familiar with, or at least willing to learn as you go, the following things:

  • How to use the FreeBSD installer. (It isn’t really that difficult; not quite in line with some of the easier Linux distributions, but far from rocket science too.)
  • How to install stuff in FreeBSD, using either ports (which downloads source code, applies FreeBSD-specific patches and compiles it on your system, or its packages collection (which downloads and installs pre-compiled software). In my case, I used the ports system whenever possible because I am under the delusion that compiling software on your own machine makes it run significantly faster.
  • Basic use of the Unix command line interface; navigating directories, running applications, mounting disks, using an editor, halting and rebooting, etc. Also, Unix concepts such as home directories, users and groups (especially root), etc.
  • If you wish to run X, you should know how to start and configure that, as well as what it is in the first place.

If you need to catch yourself up on any of this, don’t forget the incredibly handy FreeBSD handbook. Most of what I’ve learned to get this working came either from that handbook, or this handy thread on VMware’s forums.

There’s no shame in screwing up and starting all over. In fact, one of the great things about VMs is that doing this is much easier than it is with real hardware. So experiment! You can’t delete VMs from within the VMware interface (grr), but you’ll find all their data in single individual files in the “Virtual Machines” folder in your Documents folder. Deleting them in the Finder will cause VMware to remove them from its “Library” window.

Finally, the stuff below worked for me. I can’t really guarantee that it’ll work for you. If you have questions or problems, feel free to post in the comments, but don’t expect me to be of much help - I’m still a n00b at VMware, and almost as much as a n00b at FreeBSD. Also comment if you think I’ve left something out - I’ve tried to remember everything and put it all in the right order, but I am just slightly short of the perfect human being. That said, let’s get started, shall we?

Step 0: Print these instructions

If I may be so bold, I recommend you print this web page. Why? Because to switch back and forth between your web browser and VMware, you’re either going to have to press Command-Tab (the standard OS X app switching key command) or Control-Command (which tells VMware to let the Mac have input focus back instead of the VM). And, as I whined in my previous post, VMware Fusion seems to send a press of the Escape key to the virtual system when you press the Command key on your real one. This may result in you backing up or exiting out of things accidentally, especially when using the FreeBSD installer. I’ve tweaked my site’s stylesheets to be more printer-friendly just for this article, so go kill a tree.

Step 1: Download a FreeBSD disk image

You should get the amd64 version - your Mac does not have an AMD processor, but it is 64-bit, and “amd64” is sort of shorthand for a 64-bit PC-compatible processor regardless of manufacturer. I also recommend getting the “bootonly” disk image, which just boots the FreeBSD installer but downloads all the stuff it will install as it installs it. The full disk images can take a long time to download, and this way you’ll save time by making sure that you’re only downloading the parts you really need. (The rest of this guide will assume you are taking this advice.)

Step 2: Set up a virtual machine

Start up VMware. When you see the “Virtual Machine Library” window, click the “New…” button. When it asks you for an operating system, select “Other” from the “Operating System” menu, then “FreeBSD 64-bit” from the “Version” menu. The other options should be self-expanatory (though make sure you’re allocating enough disk space to your VM now; increasing its size later will be a painful process). Once you get to the “Finish” screen, uncheck the “Start virtual machine and install operating system now” check box. Select the “Use operating system installation disk image file” radio button, select “Other…” from the menu below it, then navigate to the ISO file you downloaded in the previous step and select it. Click “Finish.”

Now you’ll be back at the “Virtual Machine Library” window. We didn’t want to immediately start the VM because there’s one more step I recommend doing before you fire it up; select your new VM and click the “Settings” button. From the list on the left, select “Processors” (expand “System Hardware” if you don’t see it), and set this setting to as high as it will let you set it. By default, it’ll only tell your virtual system use one of your processors (or cores). This is great if you want to make sure your Mac outside of the VM always has at least one processor to work with, but you might as well let your VM use as much power as it needs, especially if you’re going to be compiling ports.

OK out of the settings pane and head back to the “Library” window. Click “Run” and your new VM will fire up and start booting from the FreeBSD disk image.

Step Somewhere In Between: Networking, yay!

Accessing the internet with FreeBSD, both when you’re booting from the disk image and when you’re running your VM straight from your hard drive, seems to not be a problem with VMware… for the most part. By default, VMware will use its “NAT” network setting to pass networking stuff from your Mac’s network system to the VM. But I’ve noticed that, for no apparent reason, networking will eventually stop working. It’s seemingly random, but it’s fixed easily: just use the “Bridged” networking setting instead, then reboot the VM. This can be changed by clicking on the icon with the ethernet symbol on the lower left of the VMware window, or through the “Settings” pane (where we selected the number of processors to use above). Once this change is made, problems seem to never recur.

Step 3: Installing FreeBSD

Like I said, it’s fairly straightforward. Install the standard boot manager, because dual-booting a VM is weird. When it comes time to choose what to install, I don’t recommend installing X at this point, but do install the ports collection. When it asks you to try to use IPv6 and DHCP, both should work, so say Yes to both. Create user accounts and then reboot to finalize the installation. “Eject” the installation disk image by selecting “Virtual Machine” > “CD/DVD” > “Disconnect CD/DVD” from the Mac’s menu bar or clicking the icon in the lower-left of the window that looks like a disc. If all has gone well so far, your new VM will boot and present you with a login prompt. Log in as root.

Step 4: Edit /boot/loader.conf

Your new VM is now running, but it’s using more than its fair share of your Mac’s resources. This is due to the operating system polling the VM too often for interrupts, or something like that that geekier people than I would only understand. Fortunately, this is easily fixed. Your first step after logging in to your new VM for the first time should be editing /boot/loader.conf. It’ll be a blank file to start; add the line:

kern.hz=100

Save and reboot. Log in as root again.

Step 5: Update ports

This step is probably unnecessary if you’re just installing packages instead, but it won’t hurt. When you installed ports in step 3, you also installed a very handy took for updating ports called portsnap.

# portsnap fetch; portsnap update

…and go make a sandwich while your ports collection is updated. This will take some time the first time you run it.

Step 6: Install compat6x

We’re going to want to install VMware Tools, but it doesn’t directly support FreeBSD 7, so we’ll need to install a compatibility doodad. The port is in misc/compat6x; make install clean it. (I’m not sure if this will work as a package, but you can try…)

Now we need to put the doodad in a place where VMware Tools will find it.

# ln -s /usr/local/lib/compat/libc.so.6 /lib

Step 7: Install Perl

Installing VMware Tools requires Perl, so if you don’t have it yet, install it. The port is in lang/perl5.8, or install the package if you’d rather.

Step 8: Install VMware Tools

From VMware’s “Virtual Machine” menu, select “Install VMware Tools.” This won’t do anything obvious, but what it actually did was stick a virtual CD-ROM into your virtual machine’s virtual optical drive. mount /cdrom it. It will contain a single file, entitled “vmware-freebsd-tools.tar.gz”. Extract it to somewhere convenient. This will create a directory named “vmware-tools-distrib”; cd into it, then ./vmware-install.pl.

During the installation process, the installer will tell you that it looks like you’re installing via a remote shell, and are you sure you want to continue? This is, of course, a dirty rotten lie, so say “yes.” Other than that, all of the default choices should suffice.

Step 9: Install X and a WM of some sort

If you don’t intend to use X, you’re done. If you do, there’s one more step. Install X and your window manager of choice now, and test that it works. You’ll notice that it works inside an annoyingly tiny window, though.

(If you want to install command-line stuff like vim and bash now too, go ahead.)

Step 10: Run vmware-config-tools.pl

Exit out of X and go back to the command line. Run /usr/local/bin/vmware-config-tools.pl. Like the previous Perl script, you may be told you’re logging in from a remote terminal.

Step 11: vmware-toolbox

Start X again and start up your X-powered terminal of choice. Run vmware-toolbox for an ugly X application which will let you adjust a few other options with regards to how VMware interacts with X.

Known unknowns

Two problems not solved by the steps above, and which may not be solvable: One, how to stop an escape character from being sent to the standard FreeBSD command line when you press the Command key on your keyboard (interestingly, this doesn’t seem to happen once you’ve got X running), and two, how to get VMware to realize when you’ve moved the pointer to the edge of the screen in X and release it so that you are controlling it in your Mac again, just as it can do with Windows. How to stop VMs from grabbing focus just when you merely mouse over their windows would be great to know too. If you’ve solved any of these problems yourself, please share in the comments.

VMware Fusion hates FreeBSD; I hate VMware Fusion

On Cyber Monday, I was looking through Mail’s spam folder and noticed some bacn from VMware, creators of virtualizator (?) VMware Fusion, letting me know that, with a special coupon code, I’d be able to get Fusion for half its typical $80 price. I took the bait and bought it.

Since I don’t have any copies of Windows, so far I’ve been using it to experiment with FreeBSD 7. However, I’ve got to say that, compared to the older version of competing product Parallels Desktop I have at work, I’m quite disappointed with VMware’s support of FreeBSD (and glad I didn’t pay full price for it). Now I didn’t totally expect FreeBSD to be a first-class citizen on a tool primarily advertised as something which lets you RUN WINDOWS ON YOUR MAC!!!!!!one, but I did expect a level of support at least comparable with its competitor.

Nonetheless, I’ve managed to get it working to a certain extent, thanks to various IRC channels, forums, and handbook pages. I’ve been taking rough notes on the process and may post them soon. But let’s start off with a list of annoying things about VMware Fusion which are making life unnecessarily difficult.

  • The Command key is, for whatever ungodly reason, sent to the virtual machine as a press of the Escape key. If the virtual machine has focus and you want to return focus back to your machine, VMware wants you to press Command-Control. Command-tabbing to another application works as well. However, both of these will send an Escape key press to the system, causing me to accidentally close dialog boxes and menus and such I wanted open while I looked stuff up on the interbutts back on the Mac side. This also makes it difficult to take screen shots. For Frank’s sake, how did that one get past beta testing?!

  • As an extension of that: When I want to shut down the virtual machine, I run halt. FreeBSD cleans up after itself and then says something to the extent of “System halted. Press any key to reboot.” So I press Command-Control to get control to my Mac pointer back so I can tell VMware to shut down the system - and doing so sends an Escape key, causing the system to reboot itself. FFFFFFUUUUU-

  • And yet another focus annoyance: When VMware is the front app, mousing over the VM window causes focus to shift to the VM, whether you want it to or not. Not clicking; just mousing over. Even on FreeBSD before I have X running and the mouse does absolutely nothing anyway. So I go up to the menu bar and open a menu; it drops down over the VM window. I select a menu item. The menu disappears, and now my pointer is over the VM window and the machine takes focus. But I want to select another menu item, so I press Command-Control - and escape out of a dialog box in the VM I was trying to keep open. Headdesk.

  • Parallels has a menu which lets you send various keys and key combinations uncommon on modern Mac keyboards, such as Scroll Lock - which is essential when you need to scroll through output in FreeBSD’s text mode to see where something went wrong. VMware only lets you send Control-Alt-(Forward-)Delete. If I want to send Scroll Lock, I need to press F15 - which isn’t present on my MacBook Pro’s keyboard. Similarly, using Alt-Fx to switch between virtual terminals only seems to work with my external keyboard.

  • No matter what OS you’re running, apparently, FreeBSD puts an annoying message in the VM window’s status bar telling you to install VMware Tools (the relevance of which thus far escapes me). You’re supposed to be able to do this just by selecting a “Install VMware Tools” menu item and then mnt /cdroming. During this process, you’ll be told that you’re logging in remotely even iwhenf you’re not and asked if you want to continue. Also, the installation will actually fail until you first install a FreeBSD 6 compatibility package and then ln -s a file from that package to a place where VMware Tools expects it to be.

Dammit! Fusion 2 got some great reviews when it came out, but I can see now that it’s likely that the reviewers just tested it with Windows, and maybe that youbuntuh thing for ten minutes or so.

Note to fellow BSD fans: Don’t make my mistake. Buy Parallels instead.

EDIT: A perfectly reasonable reply to my vitriol would be to point out that VMware Fusion has a demo available and that I should have used that to verify that FreeBSD would work well on it before I paid. Indeed, I had downloaded the Fusion demo; that’s how I got on the bacn list. But clearly I didn’t play with it enough before I paid up. So my frustration is partially my own fault, I know. That being said, there’s still a lot that could be done by VMware to make FreeBSD in Fusion a less painful experience, and hopefully this post, warts and all, makes some of those things apparent.

On clean breaks

There’s some kerfluffle in the community for the Python programming language. I would not be among that community; I experimented with Python for a bit, and didn’t hate it, but I also played with Ruby and found it to be more my style - but ultimately went crying back to PHP due to its ease of setup and omnipresence among web hosts. But for others, that’s not an obstacle. To each their own.

Anyway, the contention is about the recent release of the Python 3.0 interpreter. This version of the language breaks backward compatibility bi-directionally; code written for previous versions of the Python interpreter will generally not work with the Python 3.0, and code written for Python 3.0 will not run on previous versions of the interpreter.

The changes in the new version of the language are quite extensive. Many antiquated or redundant libraries were tossed out, and standard 8-bit Python string types were obliterated - all strings are in Unicode now.

The changes are going to mean bajillions of man-hours of labor to convert older codebases to the new system. Many Python-powered web sites use a framework such as Django or Pylons; the substantial codebases of these frameworks are going to have to be rewritten themselves before the sites using them can take advantage of Python 3’s improvements. It’s quite likely that many of these larger projects are going to be maintaining two codebases for a while (just as the Python organization themselves are) - one for Python 2.6 users, and another for Python 3.0 users.

For some, this is ludicrous. Python user Jens Alfke asks, on his blog, “Python 3.0: What’s The Point?” He argues that the improvements to the language are not worth the jarring and rewriting the 3.0 transition is going to cause.

On the other side one James Bennett, who titles his post, “Let’s talk about Python 3.0.” With a humorous story about monkeys, bananas and a fire hose, Bennett makes the argument that Python and its users are going to end up for the best in the end by implementing Python 3.0’s improvements now rather than later.

I see parallels with Drupal. With every major Drupal release, changes to the API mean that modules and templates for the previous version are not likely to work with the current one - and this is happening every eighteen months or so when a new major version of Drupal is released. Many developers have difficulty working with this concept. The result is that, even though Drupal 6 is the current version (its first standard release was in February) and Drupal 7 development is occurring full steam ahead, Drupal’s own main site still frequently showcases on its front page sites built with Drupal 5 - and the Drupal.org site itself is still using Drupal 5. Gradual process in the porting of many frequently-used modules such as Views to Drupal 6 forced many site admins to wait until the modules they depended on were upgraded before taking the plunge. In the [Drupal modules] and themes directory, you will to this day find many projects which do not have Drupal 6 versions available, even in pre-release form - and every once in a while you’ll come across a project which doesn’t even have a Drupal 5 version available, the coder instead going no further than one of the Drupal 4.x releases. It’s aggravating sometimes, and it’s going to all happen again when Drupal 7 is released.

And yes, some people whine and complain that all this updating and breakage is doing more harm than good. But I side with Bennett and those who think of the progress as a feature, not a bug. From a programmer’s perspective, the improvements in Drupal 6 over Drupal 5 are substantial - the menu system is much improved, and the improvements to the templating system are powerful and certainly make life easier. And when Drupal 7 hits, its new database interface is going to be a dream - but all Drupal 6 modules will have to be rewritten to take advantage of it.

But that’s progress. Look at the Mac. The transition from Mac OS 9 to Mac OS X required applications to be rewritten, sometimes substantially. The transition from PowerPC to Intel processors also caused some pain for Mac developers. Next around the bend is the transition to 64-bit codebases, which already has Adobe smarting. But the Mac is incalculably better than it was in the OS 9, PowerPC-only days - and it can keep its svelteness without Classic mode and Rosetta (backwards compatibility tech in OS X to run OS 9 and PowerPC apps, respectively) gunking it up.

Upgrades - and break-ups - can be painful. But life will be better if you do it sooner rather than later. Time to make a clean break, Python users.

Seeking Mac editor nirvana

I’ve written about Mac text editors before on the previous incarceration of Ray Gun Robot. My preferred editor, the one I use every day at work and home, is Smultron. It’s nice, for reasons I’ll get into, but I wouldn’t mind having a few features that more mature text editors have, such as syntax hinting (is it strpos($needle, $haystack) or strpos($haystack, $needle)?) and scriptability.

Inspired by a post entitled “Komodo vs Coda” (found via Planet Drupal) and subsequent comments, I recently spent some time looking over a selection of Mac text editors and IDEs, seeing what the alternatives were, as I periodically do. Unfortunately, what I found has convinced me to stick with Smultron still.

After a bit of consideration, I came up with four criteria that a text editor must have to be usable in my opinion. There are others, of course - syntax coloring, regular expression searching - but those features are common enough among all editors that dare call themselves such that I won’t bother mentioning them. Those criteria are:

  1. Smart indenting. If I start a function by typing something like function foo($bar) {, the editor should be smart enough to realize what I’m doing and indent the next line by a tab stop to help keep my code tidy. Furthermore, if I end a function by typing a single } on a line, it should unindent that and the next line. (It would be really awesome if the editor could do that with array( declarations too, but I’ve gotten used to indenting those manually, unfortunately.)

  2. Mac-like. It should support standard Mac keyboard commands; it should use standard Mac user interface widgets; it should support the standard OS X spell-checking dictionary; it should feel svelte and unbloated; etc. It should also work like a Mac app when it comes to keyboarding around the document: the Home/End key should take you to the top/bottom of the document, not the beginning/end of the line; the Page Up/Down keys should scroll the viewport without moving the cursor; etc. (See my post on Mac OO.o 3 for more rants about supposed Mac applications adopting Windows’ lousy (in my opinion) text editing interface.)

  3. Vertical window splitting. Window splitting allows you to have two (or more) documents open in a window. This is handy when you want to work on HTML in one file and CSS in another file at the same time; or to refer to a database schema in one file while writing code in another file; or to work on a template file while referring to a code file… this feature offers a huge boost in convenience and productivity. Some editors only allow you to split horizontally, but I much prefer vertical splitting, especially nowadays that most displays are much wider than they are tall. Also, simply opening up two windows and displaying them side-by-side is not an acceptable alternative; you end up with redundant user interface widgets, and you can’t quickly and easily resize or minimize the windows at the same time when you need to get them out of the way. These problems are gone with true window splitting.

  4. Reasonably priced. When I can go out and buy the latest 3D whizbang video game for $60 or less, ponying up over $100 for a text editor seems a little bit ridiculous. Granted, I may spend ten hours or less playing the video game, whereas the text editor will be used eight hours a day, five days a week, for the indeterminable future; still, I can’t imagine that the latter took all that many more man-hours to develop than the former. However, for the perfect text editor, I’ll pony up two days’ pay… it better be pretty waeome, though.

Okay. So here’s a snazzy chart showing how several OS X editors compare with regards to these features. Note that some of these might be a little off, as I haven’t actually used all of them; so on some of them I’m just guessing by the feature lists. Lemme know if I made any obvious mistakes. (The chart uses Japanese-style maru ◯ for “yes” and batsu × for “no” because I’m a nerd.)

Editor Smart indenting Real Mac app Vertical splitting Reasonably priced
BBEdit × × ×
Coda × ×
Eclipse × ×
jEdit ×
Komodo × ×
MacVim ×
NetBeans ×
Smultron
SubEthaEdit ×
TextMate × ×

This table is very basic, but it’s enough to see that some would-be-great editors have some glaring oversights which are stopping me from switching. TextMate has a lot of buzz and cred among Mac nerds, but the fact that it doesn’t support window splitting, vertically or otherwise, seems to me to be a staggeringly unacceptable omission to what is otherwise a slick and mature editor. Likewise with SubEthaEdit, which actually predates TextMate (if I recall correctly) and features support for the ability for two or more people to work on a file concurrently over a network - this strikes me as a rather esoteric feature, which makes the omission of a basic feature such as window splitting all the more annoying. (SubEthaEdit also has the lowest price among the non-free editors on the list.) Coda is possibly the youngest editor on the list, but one which has picked up a lot of steam with its support for IDE-like features like syntax hinting and revision control systems; but the fact that it’s the only editor on the list which can’t smart-indent for me makes it useless. jEdit lets you go absolutely crazy with window splitting, letting you split windows horizontally and vertically in the same window; too bad its non-Mac-native interface looks like butt. BBEdit has been around since at least the early ’90s, and was probably the first real serious industrial-strength editor on the Mac, but it doesn’t seem to have really changed much since then, and again, the lack of splitting is an annoying oversight. MacVim was an interesting inclusion on the list, being a version of the venerable vim command-line text editor with some Mac interfacey spit and polish on it. I can’t find myself calling it a true Mac editor, though.

So I’m sticking with good old Smultron for now. It’s served me well for a couple of years now, and looks like it’s going to continue to serve me well for a little while more, at least until other editors can come out with the features I’m expecting.

OpenOffice.org 3 for the Mac is… acceptable.

OO.o text editor main windowI’m working on a rather large web site for a rather large organization. Given the large number of people that will eventually be using the site - easily more than any other site I’ve built - I decided to write a manual of sorts for the site as I build it. That sounds like a job for a word processor!

Now typically, when I write documents which need formatting, I use OS X’s standard TextEdit. It’s small and svelte, and it gets the job done. But I wanted a few more features for this document; specifically, I wanted the ability to create a stylesheet, footnotes, and automatic page numbering and table-of-contents-building. I needed a beefier text editor.

But which one? At work, I have Microsoft Word, but I wanted the ability to work on this from home if need be. At home, I have Pages from Apple’s iWork suite, but I didn’t have that at work. Conundrum. But hey, I’ve heard that the OpenOffice.org open source office suite recently released a new version that works on OS X without having to start up X11. So maybe it’ll have a Mac-like interface. And I’m not quite sure, but maybe it’ll have all the features I need… With this mindset, I decided to give it a try.

So, having used it for about a week now, and with my page count now in the low teens, here’s my thoughts. Though, to be fair, this really is only a review of the word processing part of the app (and the drawing part, to a lesser extent); the other parts of this multi-faceted app will be outside my range of scrutiny.

Okay, first the negative stuff. OO.o really feels like an app ported from something that’s not Mac OS X. Of course, it was, but every time one of these big-name open source tools gets a/another major Mac release, I just can’t help but hope that someone will get it right some day; that it’ll be ported by someone who realizes that Windows 95 was not a high point in graphic user interface design and application integration. OO.o isn’t it. The spell checker does not recognize Mac OS X’s system-wide dictionary; some of the smaller subwindows which don’t use the standard GUI widgets have the close widget on the wrong side of the window; some of the key commands are wrong (Command-Y is redo instead of Command-Shift-Z); the Enter key on the keypad does not “click” the default button in dialogue boxes; and cursor movement is severely wrong for Mac users: Home doesn’t go to the beginning of the document, Page Up/Down move the cursor as they scroll, tricks like click-and-a-halfing inside a word to select the word and then dragging over the next word to select it as well do not work. And the default fonts are Times New Roman and Arial. Barf!

Crappy!Check out that lovely notification thingie that appeared in the right side of my menu bar. With a yellow ballon, yeah. And when I clicked on the icon, instead of getting a menu, a window appeared - I’m not sure how that’s even possible. And it didn’t go away when I declined to update the Canadian French grammar checker or whatever it was.

Non-Macness aside, the interface just isn’t very friendly. Many operations require going through dialogue boxes with lots of tabs and buttons (sometimes two rows of tabs), and to make matters worse, trying to bring up the in-program help system hard-crashes the app. Then, when you start OO.o up again, it, without your permission, brings up this ridiculously large window to try to “recover” the documents you were working on when it crashed. The problem is that this window seems to get hidden underneath other applications’ windows while the standard OO.o interface elements (dock icon and menu bar) become unresponsive and beachball as if the application has hung. You can fix this if you go to that recover window and either start or cancel the recovery process - but, again, as it gets hidden underneath other app windows and doesn’t appear when you click on the OO.o dock icon, it’s easy to miss if you have other app windows open. Argh!

Then there was the fun when I tried to import a diagram I had drawn in Illustrator. The first thing I did was try to just paste it in; all that did was paste in the text parts of the diagram and none of the art at all. Oops, that’s a result worse than failure. So I switched back to Illustrator and exported the drawing as an EPS. After all, EPS is a fairly universal vector art format, right? Well, OO.o opened it, but then it would only show the low-res bitmap preview version of the drawing, including on export (and presumably on printing). Unacceptable. I found a plug-in which purported to let me open SVG images in OO.o, but that just caused the program to crash when I tried to use it. I wanted this document to eventually be both printed and viewed as a PDF, so doing it as a bitmap was an unattractive option. I briefly considered just redrawing it in OO.o’s drawing tools, but after starting up a drawing document with OO.o and trying to use it for a few moments, I collapsed into something between hysterical laughter and desperate sobbing and gave up on that idea. THERE’S NO KEY COMMAND OR BUTTON TO ZOOM IN EVEN, FER CRISSAKE. (Or if there is, it wasn’t as obvious to find as it should have been.)

After doing some searching around, I found a solution; in Illustrator, I had to export the drawing as a Windows Metafile format, with an extension of WMF. To my surprise, this imported into OO.o perfectly. What the hell?! Who would have even guessed that “Windows Metafile” was even a vector art format?! It certainly doesn’t sound like one.

Okay, now for the good stuff - and, believe it or not, there is some. The styles? They work great. The footnotes? They bring up an unnecessary dialogue box every time you try to insert one, but they work great. Automatic index-building? Kinda tough to figure out at first, but now that I have, it works great (it would be better if it automatically updated itself, though). The PDF export? Works great and produces smaller PDFs than Mac OS X’s standard PDFing trick. So all its bugs and headaches and unfriendliness aside, it delivers on its promises, at least as far as the word processing component is concerned. In fact, it kind of has the same problem as Word, erring on the side of having too many features, too many ways to do things.

Maybe future releases will be more Mac-like, but seeing as how Firefox has been on the Mac since the beginning and it still feels very un-Mac-like in some ways, I’m not holding my breath. So the final conclusion: If you can tolerate running ugly, unfriendly semi-Mac apps on your Mac, and can learn to save your documents early and often in exchange for a free, cross-platform program with an open document format, OO.o - or at least the word processor it contains - is worth it.

Sixteen shades of pea green

My boss had acquired a box full of Apple Newton MessagePad stuff at some point, and, after not being able to sell it at a yard sale over the weekend, asked if anyone at work would take it off his hands. I volunteered.

For a nerd for old tech, it’s quite a haul. There’s a MessagePad 120, the much-desired MessagePad 2100 (the last and mightiest of the MessagePads), a keyboard, an AC/DC fax modem capable of blazing 14.4kpbs speeds, various batteries and chargers, and various documentation - most of it for the 120.

The MessagePad 2100 was released in November 1997, and axed soon after as Steve Jobs came back to the company and pretty much halted all projects not directly related to the Macintosh. I’ve played with it a bit over the last few days. The first thing you notice when you pick it up is that it is almost comically large and heavy. Remember those old cell phones from the ’80s? It’s got the same vibe. In fact, if you compare the 2100 and the 120 which came out almost three years prior, you’ll see the 2100 is actually a bit larger - Apple was going in the wrong direction. No wonder they got railroaded by Palm, whose products truly were pocket-sized.

When I powered up the 2100, I was pleasantly surprised to see that it still worked, though it had forgotten what time it was. The Newton OS is in many ways different than what you expect to find on the desktop, but after finding a PDF of the manual buried on Apple’s site somewhere I was able to pick it up fairly quickly.

Unfortunately, there’s not a whole lot I can do with it that I can’t do with a piece of paper and a wristwatch. I can take notes (even with my chicken scratch, the handwriting recognition isn’t too bad if I write a little bit slower than normal) and make to-do lists and fill up an address book and find out what time it is in Nagoya, but that’s about it. There’s not even solitaire or some other simple game to blow time on.

There are Newton software archives out there with shareware and freeware which can add more functionality to this thing, but I haven’t owned a Mac with an old Apple-style serial port in six years or so, and I don’t have a network card for it either. Nor do I have a dial-up internet connection or even POTS of any form at all, so the modem is uselsess. So right now, it’s just kind of an oddity - an electroluminescent memo pad.

(Please pretend that my digital camera wasn’t borked and I’ve attached lots of cool and interesting photos to this post. Or, failing that, check out the Newton pool on Flickr.)

I'm a bigoted homophobic fascist

…because I will vote Yes on California Proposition 8, which will add the line “only marriage between a man and a woman is valid or recognized in California” to the state constitution.

This little ballot measure is probably the one being most noisily debated both in the state and outside it. Proponents are saying it will make sure the sanctity of marriage goes unadulterated and that traditional families will continue to be represented and blah blah, and opponents are saying that it’s an attempt to institutionalize bigotry and deny homosexual couples equal rights afforded to heterosexual couples and blah blah - you’ve heard all the arguments before. But I’m afraid in all the blather between the two sides, the true issue at stake with this proposition is being dismissed or ignored. And that issue is not gay marriage, no matter how much both sides think it should be.

Let’s back up a little. In 2000, little ol’ liberal California passed Proposition 22, which legally defined marriage as a heterosexual union, thus giving California its first codified definition of marriage in its history (up until that point, it being heterosexual was just assumed). The margin was significant; over 61% voted in favor of it. Thus, only heterosexual couples could marry in California.

However, earlier this year, some cases made it to the California Supreme Court which challenged the constitutionality of the law. After reviewing the case, the Court released a 4/3 split decision which invalidated Proposition 22.

Something which over four and a half million people from all over California voted into law was invalidated by four fogies in robes sitting in an air-conditioned room sipping filtered icewater with lemon slices. The same liberals who chant and march for democracy and enfranchisement have a habit of falling eerily silent when the actual enforcement of those ideals would lead to an unfavorable outcome.

Now don’t get me wrong; I understand the whole checks and balances thing. And I think it’s generally a good idea. But this law was not created by some interminable dangerous legislative sect or some out-of-control executive. This law came into being by the vote of the people; the people these judges are supposed to be working for. What was the point of having a vote on it if the legislative branch were just going to decide the issue for us anyway? Millions of Californians - whether they voted for or against it - were disenfranchised after the court decided to invalidate the vote and write their own rules.

And that’s the real issue. Not gay marriage. The decision of the court effectively legalized gay marriage in California, and for the last few months, gays have been marrying in California, filling out forms labeled with “Party A” and “Party B” instead of “Woman” and “Man.” During that time, there has not, to the best of my knowledge, been a measurable increase in the number of human lightning strikes or plagues of locusts. The state has not been torn off of the continent and sunk into the Pacific. And just on a personal level, I’m really not bothered that much by the thought of gays marrying. It’s certainly… different, yes, but I can’t imagine any scenarios by which my life has been or will be negatively affected by it.

The real issue is that the courts overruled the will of the people. Proposition 8 is a vote on whether we’re going to allow them to get away with it or not.

The primary difference between Props 8 and 22 is that 8 will make heterosexual marriage a part of the California constitution, whereas 22 simply made it a normal law. Constitutional amendments cannot, to the best of my knowledge, be revoked by the courts by any other manner than the passage of anotherr constitutional amendment which strikes it out. A vote of no on 8 sets a dangerous precedent; it tells the court that the people of California are just fine with a small group of people in Sacramento overriding their votes and elections. It’s purely by chance, and somewhat unfortunate, that the issue with which this has all come to a head is gay marriage.

If this were a proposition to add language to the constitution explicitly permitting gay marriage, I wouldn’t have a problem with it. Nor would I stress too much if Prop 8 passed, then another proposition invalidating it passed in the very next election. As I said, the real issue here is whether we’re going to permit the courts to disenfranchise us. However, since the incidental issue to all this is the legal status of gay marriage, those who favor 8 are doomed to become bigoted homophobic fascists - like me. But hold on to your hats; I’m about to share my personal opinion on marriage and government which might just flip your lid.

The recognizance of one’s marital status at either the federal or state level is extraconstitutional. By that I mean that there is no language in the US constitution which says that tracking whether and to who (sorry, I refuse to use the word “whom” anymore) people are married, and, at least for now, there’s none in the California constitution either, as far as I know. So the government should not keep track of it. Extend all benefits and tax breaks that married people receive to everyone. Peoples’ marriage status should stop having any relevance to their standing with the government at all.

That way, marriage becomes purely a social issue. If a man and a woman, a man and a man, a woman and a woman, two men and five women, or a banana slug and a narwhal want to get together at their local church, community center, park, graveyard, or coral reef and exchange some ceremonial vow of fidelity, and they want to call this ceremony a “marriage” and refer to themselves as “married,” then so be it. The government doesn’t need to - the government shouldn’t - be involved. Man, how fascist is that?

Try Netflix. Seriously.

As I write this, I’m aware that there is currently a debate going on between the blowhard and the fogey. I’m not watching it, though; though I have a rather nice 32-inch Vizio HDTV (I got it at Costco, who has ’em at a great price; I kind of regret not just opting for a smaller size, though. I could barely fit the box for this thing in my car), I don’t have cable or satellite service, nor an antenna.

But I’m not one of these cocky jerks who are all like, “Oh, I don’t watch TV because there’s nothing good on.” Hells no; to the contrary, when I first moved in to this apartment, I did have cable service and I watched TV quite often. And if I still had cable service, you can bet I’d be watching all the pro wrestling and cartoons and budgetless reality TV I could - and, yes, maybe even a presidential debate every once in a while. But one day the cable service to my apartment got shut down. They never sent me a bill for it, and I sure as hell didn’t want them to start sending me a bill for it. So I just did nothing.

So instead of spending my four hours a day watching TV, I’ll spend it on my computer or playing video games. But sometimes I need a “lean back” activity that provides maximum entertainment stimulation with minimum brain activity. Enter Netflix.

I won’t bother telling you what Netflix is - you’ve seen the commercials, I’m sure. (I saw them all the time back when I had cable!) So let me just say that it’s totally worth it. For about a third of the price of basic cable, DVDs magically appear in my mailbox every few days. (Netflix’s plans vary by how many discs you may have out at once; I’m on the three disc plan, which runs me $16.99 a month.) I watch ‘em, pack ‘em back up in their envelope and toss them in an outgoing mailbox. Wash, rinse, repeat. Thanks to Netflix I’m currently watching Avatar: The Last Airbender on DVD. I’m currently halfway through Season 2, and convinced that this just might be the finest American action ’toon ever created - sorry, Samurai Jack. Recently I also rented Linda Linda Linda, a Japanese movie about a high school rock band (very good!), and Apocalypto, an action flick about a cat-and-mouse chase set during Mayan civilization (good, but often seemingly violent for violence’s sake). Just today came Pirates of Silicon Valley, an old made-for-TV dramatized (but quite accurate) documentary about the early years of the Microsoft/Apple feud. And when I finish that and send it back, Netflix will send me the next movie in my queue, which is currently 53 discs long and includes discs from Kids in the Hall: Brain Candy to Mirrormask to Burn Notice to Speed Racer to Alice in Wonderland. (Turn off the lights, put on your headphones, turn the sound up, and watch that video in high-quality mode on full-screen. It’s a substance-free mind trip, maaaaaan…)

Not all is perfect with them, though. They claim to be able to ship movies out in one business day, which is probably true if you don’t live in BFE like I do (I’ll let you guess which one of these I have in mind). Also, they offer a service which lets you watch streaming movies over the internet so that you don’t even have to use a physical DVD to enjoy the movie, but - surprise surprise! - it only works on Windows. However, I hear that later this fall they’re going to offer the service up to Xbox Live subscribers, so I’ll be able to use it in that case. But for the time being, it’s a bit of a bummer that I’m paying the same price as those who actually do receive one-day shipments and can watch movies on their computer, but I’m denied those benefits.

Anyway, Netflix has sent me some coupon codes to give to my friends which will give them a free month of Netflix service to try it out. And since I don’t have any friends (slight exaggeration), I figure I’ll post them up on the internet instead, first come, first serve. Each code will only work once, so try a code, and if it doesn’t work, move on to the next one. Go here to redeem the codes. Here they are:

  • M308649191125
  • M318689191095
  • M368619191375
  • M308609191385

And yes, in case you’re wondering, I did totally steal this idea from this guy. Of course, my (and his) act isn’t entirely selfless; every time someone redeems one of these codes, Netflix will temporarily bump up my allotment of DVDs I can have out at one time. So do us both a favor and use up those codes!

Introducing Ubercart Auction

I started a new project at Drupal.org today. It’s called Ubercart Auction, and, as you may have guessed, it’s a module which adds auction capabilities to the excellent Ubercart shopping cart system for Drupal. (At the time I posted this, the lovely D.o robots had yet to pack the code together into a downloadable dev release yet, but hopefully it’ll happen soon.) It was written for a client whose site isn’t live yet who is going to want to sell things via auction on their store. After seeing how well the module was progressing and how useful it could be for other people, I asked our contact there if they would be cool with us releasing it for free, and he gave us the okay.

Drupal’s other e-commerce solution, appropriately named Drupal e-Commerce, already has an auction solution. However, Ubercart seems to have more momentum nowadays. It’s a bit complicated to set up, and the D6 version isn’t up to snuff yet, but it’s quite the capable little bugger. Heck, anything’s better than the horrid tangle of code that is osCommerce (or, as a friend and I dubbed it last night, posCommerce).

I also started work last night (on my own time) on a little module which would provide a block telling site visitors how many form submissions the lovely anti-spam service Mollom has blocked on your site. I was hoping to have it done tonight, but Mollom’s servers seem to always report that it’s blocked zero submissions, which can’t be right. If I can get these issues resolved soon, I’ll probably create a project for it over the weekend.

The entire internet has seen her email

So you’ve probably heard about Sarah Palin’s Yahoo! Mail account being hacked (excuse me… cracked) by Anonymous. For a while now, I’ve been considering moving away from my mail account hosted through my web host and to using a service like Gmail full-time, but this bit of news has given me pause.

On the one hand, it’s been a rather shocking reminder that, when you have easy access to your data via the internet, so does the rest of the world…

Then again, that’s not necessarily to say that my current account is any safer. One part of Palin’s story is that Yahoo! recognized when many different IP addresses were attempting to access the account concurrently and shut the account down. I don’t think my hosting company has any safeguard like that in place.

The implications of storing your personal information with a service you don’t own and could never have physical access to should definitely be considered before one decides to use a service like this. As for me… I still haven’t made up my mind.

UPDATE: ABC News has an article with an account from someone who might possibly be the real hacker who did this, explaining how it was done. Apparently, instead of trying to guess Palin’s password, they merely reset it by answering her security questions with publicly-available information, such as “Where did you meet your spouse.” (Wasilla High). However, apparently the hacker has had second thoughts when he realized the enormity of what he had done - especially when the emails he found were none too scandalous. This might be the first and only time you see the words “newfag” and “/b/tard” used by the old media.

Syndicate content