Category Archives: General Tech Stuff

Microsoft is loosely coupled

Something that Tony wrote about the other day got my mental wheels spinning. He wrote a pointed explanation of the seemingly inexplicable fact that IE9 and the Exchange Management Console don’t work together. This is no fault of the Exchange team; the EMC is built on top of the Microsoft Management Console (MMC) core, and it’s the MMC that has a problem with IE9.

Tony pointed out that the problem in this case is due to poor coordination between two different teams. That’s true, but it’s actually a symptom of a deeper problem that Microsoft has: it’s made up of a bunch of loosely coupled business units. Each unit has its own business challenges, its own resource constraints, and its own strategy for winning in the marketplace. That seems reasonable on its face; after all, the challenges, constraints, and strategies for the Xbox team aren’t at all like the ones for the Exchange team, and both are different from the Dynamics CRM team.

The real problem arises when these items collide, or even when they fail to align. The IE9-MMC problem is one example. It certainly looks like the IE9 team released with an incompatibility that should have been fixed before release. Did their schedule constraints drive that release? Maybe. That leads to the bigger question of what Microsoft’s strategy is with IE– how does it drive revenue for Microsoft, or prevent them from losing revenue? Given that their biggest browser competitors, Chrome and Firefox, are both free, it’s not clear to me what strategic importance IE has.

Then consider the alignment of the Windows Phone 7 team and the Bing business unit. Bing is very tightly integrated into WP7; this would seem to put the lie to my claim that many of Microsoft’s problems are due to loose coupling. Au contraire; this case proves it. The WP7 release schedule (and market constraints) are almost completely decoupled from Bing. The desire to get tight integration between Bing services and the OS led the WP7 team to take a dependency on Bing that has resulted in new Bing features being released first for iOS. That’s not 100% accurate, as there are some technical constraints around the first release of the WP7 SDK that played a role too, but it’s a close enough approximation. Or consider PhotoSynth, not yet available for WP7 because the SDK doesn’t yet support the features it needs.

Exchange and Outlook have been down this road before. If you think back to the ill-fated Local Information Store (code-named “Rosebud”) in Office XP, you’ll see the same pattern at work: the release schedules and business objectives of the Office and Exchange team weren’t in alignment, and that led to schedule slips and feature cuts on both sides. Each time Exchange or Office release a new version, both sides have to coordinate to ensure that their “better together” strategy continues to bear fruit. “Better together” is one of the few clearly articulated and executed strategies that Microsoft has had over the last few years; in fact, it’s expanded to draw Lync in as well. Of course, the Lync team has had its own challenges, as witness the continuing lack of mobile Lync clients for iOS, Android, and WP7, or the lack for that matter of a desktop Linux client.

It’s a tough problem to solve.

Leave a comment

Filed under General Tech Stuff, UC&C

Apple and customer service

Apple gets a lot of flak from the technology press and a certain segment of users. Their complaints range from the fact that Steve Jobs comes across as an arrogant jerk to Apple’s refusal to support Flash on its mobile devices to its walled-garden model for apps on the iTunes App Store.

I’m perfectly prepared to cede many of these points. Yes, Jobs seems arrogant, which is why I haven’t invited him over for dinner. Yes, Apple hardware isn’t always as expandable as competing products; no, you can’t run Flash on iOS devices. (Of course, running Flash means you’d be much more likely to need that expandable battery that Apple won’t provide.)

Having said that, I am a huge Apple fan. Let me share a few stories, and you might see why that is. I’ll note the fan reasons, or FRs, in line.

Story #1: I have an iPhone 4 that I bought last year. Its home button was only working intermittently, so I took it to the Apple Store in Huntsville. I made an appointment using the Apple Store app (FR 1: you can schedule service appointments online at any time, and the service hours are generous, not just 8-5) (FR 2: every Apple store has access to all your purchase and maintenance records, so you can take any product to any store for service.) They looked up the phone and determined that I was out of warranty by one day. FR 3: they replaced the phone anyway.

Story #2: the week after I got my phone fixed, it fell from my pocket onto the kitchen floor, cracking the screen. Thankfully I’d purchased an extended warranty from SquareTrade, but to activate the warranty I needed a copy of my purchase receipt and the replacement work order for the warranty replacement. I went to the Apple Store at Oakridge to get the work order. When I explained why I needed it… they replaced my phone! Broken screens are not, of course, Apple’s problem, and they were under no obligation to do this, but I was certainly delighted by their doing so. Call that FR 4, with a big fat asterisk next to it.

Story #3: my MacBook Pro’s optical drive had been failing to ingest disks properly, so I took it to the Apple Store at Valley Fair to have it checked out. The Genius Bar folks determined that the drive needed replacement. I dropped it off about 4:30pm on Saturday and was given a 1-3 business day repair window. At 10:45am Sunday, they called: the laptop was ready for pickup. FR 5: under promising and over delivering.

These anecdotes don’t mean that Apple’s perfect; they’re not. They don’t speak to the design or implementation of Apple products, which often have flaws (yes, Mac OS X Server, I’m looking at you.) They ignore all the hullabaloo about Apple’s policies, corporate behavior, and so on. But they point out why I am a satisfied Apple customer: Apple provides a degree and level of customer service that very few other companies match. Notice I didn’t say “can match”; Apple-style service is well within the reach of Microsoft, Samsung, Sony and other consumer electronics companies that have similar retail models.

4 Comments

Filed under General Tech Stuff

My comments to the FCC on LightSquared

There’s been quite a debate raging recently between two powerful interest groups. No, I’m not talking about the budget; I’m talking about GPS. A company called LightSquared is about to roll out a nationwide wireless Internet system, apparently in partnership with Sprint. This sounds great… except that the frequency band LightSquared is planning on using overlaps part of the spectrum allocated for GPS use. In practice, that means that LightSquared transmitters work as fairly effective GPS jammers.

There’s no question about whether LightSpeed’s equipment interferes with GPS– it does, as their own tests prove. Their attitude is that the interference is partly due to the GPS industry’s failure to provide adequate filtering, although they don’t explain how the cost of this filtering would be borne, nor how it would work with the highly sensitive GPS receivers used in commercial and general aviation aircraft.

GPS is so widely used that any interference with it would have a huge impact on the people and companies that depend on it. Check out the member list of the “Coalition to Save Our GPS” and you’ll see what I mean: the aviation industry, farmers, surveyors, and city and county governments are all well-represented.

Here are my comments to the FCC. You can file your own if you’re so inclined:

When GPS was originally introduced, only visionaries thought it would be used beyond defense applications. Now it’s a critical part of our country’s economic fabric. It’s used to deliver precision timing, location, and navigation services to a huge range of users, including farmers, pilots, ambulance drivers, and telecommunications systems. Every day, GPS helps enable life-saving emergency services, efficient transport of goods and people, economical production of food, and hundreds of other vital activities.

Personally, my family and I depend on GPS signals to safely navigate the National Airspace System, both as passengers aboard commercial aircraft and while flying general aviation aircraft. We use it for navigation and location services when traveling. We depend on it in case of emergencies that require police, fire, or EMS response. In all of these cases, unavailability or degradation of GPS signals could potentially be quite dangerous, and even fatal.

LightSquared’s proposed frequency plan puts GPS at risk. For that reason I urge the FCC to deny their request to use the current proposed frequency range. GPS and LightSpeed’s current design are fundamentally incompatible. Although making high-speed wireless Internet service available over broad geographic areas is highly desirable, enabling the current GPS system to continue to work safely and reliably is even more reliable given how many industries and activities depend on it.

1 Comment

Filed under General Tech Stuff

Panoramas with Photosynth for iPhone

I have had a blast on our DC trip making panoramic photos with Microsoft’s Photosynth application. The basic idea is simple: you point your iPhone at something, move it according to the on-screen prompts, and get a beautiful panorama when you’re done. Here’s an example: the Great Hall at the LIbrary of Congress.

Photosynth makes it really easy to take panoramas, and it does a fine job of stitching them. I’d love to see this app running on a device with a better camera (hint, hint, Windows Phone 7 from Nokia…) but it’s well worth the price: $0.

If you want to see the panoramas I’ve created so far, they’re here.

Leave a comment

Filed under General Tech Stuff

Welcome to WordPress!

I couldn’t take it another minute– my old MoveableType blog was full of bugs, misfeatures, and poor implementation choices. I decided to start over with WordPress, so here I am!

5 Comments

Filed under General Tech Stuff

Paul Thurrott and I talk Exchange 2010

One of the fun things I got to do at TechEd this year was shoot a couple of short video segments with Paul Thurrott. Despite the fact that he and I have worked for Windows IT Pro for years and years, we’d never met face to face before. The first of the videos, in which we talk about Exchange 2010 and Communications Server “14”, is now available here.

Comments Off on Paul Thurrott and I talk Exchange 2010

Filed under General Tech Stuff, UC&C

Getting started with Search Server Express 2010

I’ve been trying to make time to deploy Windows SharePoint Services 3.0 and Search Server Express 2008. This week I finally got around to it, but then I decided "hey, why not go with the shiny new 2010 versions instead?"

Thus it came to pass that I installed SharePoint Foundation 2010 and Search Server Express 2010 on our application server.

I’ll preface the rest of this post by saying that I don’t know jack about SharePoint. I have actively avoided it, in fact, which made me kind of an outcast at 3Sharp. However, we can really make use of its feature set, even though we won’t (at first) be customizing it or building new applications on top of it.

SPF Installation was absolutely painless. The new installer is superb; it automatically figures out which prerequisites you need, downloads them, and installs them. Hey Microsoft UC team! We want this same level of seamless behavior in the Exchange and OCS/CS installers!

Search Server Express installation was likewise easy. I found it a little odd that you have to manually specify access controls for visitors; I would have expected this to be done by default. However, the steps required are easy to follow.

(side note: man, some of the default SPF themes are F-U-G-L-Y. I hope my eyes stop bleeding soon.)

The next step was to add the Search Center URL to the top navigation bar of the main site. Again, this is something that I was halfway expecting the installer to do for me, or at least to offer, and it was easy to do it manually.

There are a ton of other integration points between SPF 2010 and other parts of our infrastructure:

  • you can display Exchange calendar public folders as part of the site calendar
  • you can search Exchange public folders (something that will be very handy for our source code control system)
  • you can connect Windows 7 desktop search to it, so that searches automatically include Search Server Express-indexed content

I don’t know how to do any of these things yet, but it’s just a matter of time!

Update: turns out you can’t use the Windows 7 desktop search connector with SPF; for that you need SharePoint Standard. Oh well.

1 Comment

Filed under General Tech Stuff

More things Apple needs to fix for Exchange e-mail on the iPhone

Via Twitter, I found this post pointing out 3 things Apple needs to fix to make its Exchange e-mail client more useful, from the perspective of a BlackBerry user. Their selections:

  • flagging messages for follow-up. Yes!
  • Jump scrolling to the top or bottom of a message. Safari already implements this (see the second item here), and I was surprised to notice that Mail.app doesn’t.
  • Showing message priority/importance. I’m not convinced that this is critical, though it would be nice to have.

However, there are a lot of other things that Apple also needs to do. I’ve written about some of them before, but my list has changed a bit with the announcements of the iPhone 4.0 software release. Here are the things I would most like to see; these do not seem to be present in 4.0 yet:

  • Full support for offline mode. I never want to see a message telling me that the message couldn’t be moved to the trash, or that the server can’t be contacted. Give me a subtle icon to indicate when I’m disconnected, then just handle it.
  • Proper use of the Exchange ActiveSync smart reply and forward operations.
  • Mark reply and forward operations properly so that other clients (like Entourage and Outlook) show the message history properly. I think using the correct EAS smart verbs will fix this as well.
  • Show the Deleted Items and Sent Items folders exactly as they exist on the server. Every item I send or delete should show up in the correct location on all clients, no matter which client actually did the processing. (While you’re at it, do this for Mail.app on Mac OS X, too).
  • Allow us to change the sort order used to display messages.
  • Leave the existing 4.0 "all inboxes" and conversation views alone– they work great as they are currently implemented.

I’m in a good mood (it’s Taco Salad Tuesday!), so I’m not going to take the time to write a list of all the calendaring features I wish Apple would fix, as that would ruin my mood and give me strong urges to punch something. Another day.

1 Comment

Filed under General Tech Stuff, UC&C

An interesting debugging tale

I had quite the merry chase running down a problem at work this morning: a Windows 7 workstation on which VMware Server 2.0 could neither be removed nor installed. (Side note: yes, I know VMware Server 2 isn’t officially supported on Win7.)

The first clue was the Windows installer error message saying that the installer couldn’t read the "UNKNOWN\Components\{GUID}" registry key. UNKNOWN, huh? You’d think that the installer would know what keys it was trying to read.

I started by doing a little binging to find anything relevant. VMware KB article 1308 described the steps to take to manually remove a failed install so I followed its steps… twice, just to be on the safe side (well, and because I skipped a couple of steps the first time). No luck.

Next, I fired up one of my favorite-ever troubleshooting tools, Process Monitor. It told me that the failure was actually happening when the installer tried to get write access to a subkey of HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18. I’d never even heard of that particular key, so off to bing I went. It’s actually owned by the LocalSystem account, except that in this case it wasn’t– the permissions on the key that VMware wanted (and its subkeys) were all out of whack.Resetting the permissions manually didn’t work because the parent key was still (correctly) owned by LocalSystem. So, I fired up psexec to open an interactive session with regedit owned by LocalSystem, set the correct ownership on the key and its subkeys, and ran install again.

This time it got further before failing; there was another key under that subtree that also had wrong permissions. Fortunately I’d left regedit running, so a quick ownership change and another reinstall and boom! back in business.

How’d this happen in the first place? Well, as much as I like to bash VMware (and boy, do I ever), this wasn’t their fault. As near as I can tell, the problem arose because this machine was originally built with a 160GB SSD as the boot volume and a 1TB drive as the data volume. Our app performs better on an SSD, but it also has a lot of data, so the better configuration would have been to have the 1TB drive be the boot volume. Someone tried to reconfigure the machine by imaging the SSD, putting the image on the 1TB drive, and changing the boot configuration. However, when they did so, they neglected to notice that the LocalSystem token changed, so the permissions on some entries in the registry were wrong. I think they’re all fixed now.

Not a bad way to start a Monday morning– but only because I fixed the problem.

Comments Off on An interesting debugging tale

Filed under General Tech Stuff

Acuitus is hiring content authors

I’ve gotten a lot of questions about my job, so I thought it would be a good idea to explain more about what I do, mainly because we’re looking for more people who can do this kind of work.

My official title is "content author." That means that—you guessed it—I write content for our Digital Tutor. The tutor is a complex piece of software that provides students with the same experience as sitting side-by-side with an expert human tutor. We’ve proven in both lab tests and real-world use that we can take average students—not just superstars—and help them gain real expertise, not just paper-MCSE-style book learning. Our students gain expertise far out of proportion to students who study with normal methods, especially because we can do it faster than traditional solutions. (If you want to know more about how we do that, e-mail me; much of our methodology is secret sauce.)

There are two important parts to my job title. The content part means that the tutor uses several different kinds of material to help students learn. Some are the traditional items you think of when you think of computer-based tutoring: lectures, graphics, animations, and so on. Others are unique to our product. For example, we have guided activities (e.g. "First open a command prompt and type ‘telnet’. Then…") where, at each step, we can see what the student’s doing on a live Windows network and give them guidance where needed.

We also have free-form exercises, where we give the student a real-world exercise ("Your new boss is complaining that his computer is slow. Go fix it.") and offer help, but only when the student asks for it (and only as a Socratic dialog, never as prescriptive help.) These, in a word, are awesome. They’re fun to write, challenging for students, and a key part of what makes our solution so effective… but I digress.

The author part means that I create the content using our own language and toolset. However, I have engineers who work very closely with me to make sure that whatever features I need get implemented. It’s a great partnership because I’m free to focus on what I do best, not worry about how the system will figure out what a student is pointing at, or what they just changed in AD, or whatever. The engineers do that (and we need some of them as well, come to think of it!)

What makes a successful content author?

  • Deep knowledge of at least one significant aspect of IT: networking, Windows, Active Directory, etc. When I say "deep", I mean that you need to be able to talk about this stuff at any level from "ooh, shiny" down to 500-level details of internals.
  • Solid teaching experience, the more the better. Whether 1:1 or in groups, you have to be able to effectively impart what you know.
  • Excellent written communications skills. Many of our existing content folks are published, though that’s not a requirement.
  • A desire to work on something that can, quite literally, change the world.

Are you a good fit? If you’re interested, see our jobs page and fill out the online application. That will get you into our system, and we’ll take it from there. If you have questions, I’ve set up a formspring page so that you can anonymously ask ’em.

Comments Off on Acuitus is hiring content authors

Filed under General Tech Stuff

“A mathematical career in the software industry” event

One of the unique things about working at Acuitus is the way we collaborate on writing instructional content. We essentially work on pairs, and my partner for the most recent set of work I’ve been assigned is… wait for it… a mathematician.
No, seriously.
Imagine all the people in the world with whom I could converse. Imagine me asking them a little about their prior careers or work experience. Now imagine me not understanding anything they said. That’s Geir, my partner.
Nonetheless, I give him mad props; he’s been great to work with, and he’s co-presenting a talk at Berkeley called “A mathematical career in the software industry” on April 8th. If you’re a math whiz in the Bay Area[1], please feel free to drop by and hear his talk– I think you’ll find it interesting.
[1] as if any math people would read this blog. [2]
[2] except for my cousin Jody, he of the math degrees

1 Comment

Filed under Friends & Family, General Tech Stuff

More on administering Mac OS X Server

After my previous post on OS X Server, I got a lot of good feedback from the Mac Enterprise folks. It was very helpful as I dug deeper into getting our room full of Mac minis into coherent shape.

For example, I learned that you can turn a shell script into a double-clickable executable by changing its extension to “.command”. That means that having a shell script run at logon becomes trivial, which in turn made it super-easy to start our complex Java app when the captive student account logs in. Score one for the good guys.

In regards to my complaint about binding machines to the domain, I learned (courtesy of James Relph) that you can in fact do it just like Windows does:

Regarding binding machines to the domain, just go into Server Admin > Open Directory > Settings > Policies > Binding and tick “Require authenticated binding between directory and clients”. That will ensure that when a client is joined to the domain it will ask for a domain admin account and create an associated computer record in the directory.

I learned how useful the Apple Remote Desktop “kickstart” app is, too, for setting up various aspects of ARD without manual intervention. Sadly, I also learned that there’s no way to easily apply an existing ARD task to a different set of machines, though the MacEnterprise folks helped with a couple of workarounds.

Some of the rough edges I noted earlier have disappeared as I’ve learned more about what I’m doing. One piece of excellent advice that I received is never to trust the GUI. Odd, given that Apple is supposed to be masters of all things GUI, but absolutely true. Often what you see in the GUI of the various admin tools is only loosely related to the actual status of the machine or component you’re looking at.

There are a few more serious problems lurking, too. One is that automatic logon just flat out doesn’t work if you specify an Open Directory account as the target. This is annoying, but it’s not the end of the world. Worse is that Apple pretty much leaves disaster recovery and repair up to oral tradition. There’s very little documentation on how to properly back up and restore a Mac OS X Server system. I can tell you from bitter experience that using Time Machine to back it up will only preserve files that aren’t open at the time of the backup, meaning you’ll lose your Open Directory database. Oooops. Apple doesn’t document anything about the best (or even worst) method of replacing a failed OD server, which is a real shame.

I still have a lot more to learn, including how to use the systemsetup and scutil commands, and how to tame launchd to make it do what I want to. One of these days I’ll probably feel like I know what I’m doing…

2 Comments

Filed under General Tech Stuff

An interesting week with Mac OS X Server

For a project at work, we decided to use Mac minis as clients. They’re small, cheap, and quiet, and they have enough horsepower to run the applications we wanted to test.
In order to build a stand-alone classroom, we decided to drive them with a Mac mini server running the server version of OS X. This has caused me no end of amusement, frustration, and bemusement, so naturally I thought I’d write about it from the perspective of an experienced Windows admin.
Summary: OS X Server gives you a lot of functionality out of the box, but much of it is feature-poor compared to Windows, or buggy enough to make it useless. Documentation is scanty, and Apple’s support resources are poor compared to Microsoft’s.
Installation is simple, with no worries about drivers or any of the other niggling little hassles attendant on installing Windows Server. OS X asks for an install key code, but it doesn’t validate it with a central server or phone home for activation.
The default installation ships with a large number of services, including DNS, DHCP, netboot, mail, iChat, calendaring, SMB and AFP file sharing, and web publishing. You have to enable and configure each of these services separately through the Server Admin application. I’ll go out on a limb and say that this is roughly the equivalent of the ubiquitous Microsoft Management Console, except that the MMC has an open plug-in architecture that means any vendor can write snap-ins for it. The Server Manager interface is straightforward: servers and services appear in a tree on the left, and details of the selected services appear in a tabbed view on the right. Service status is shown with a small icon next to the service name, and there are controls at the bottom of the window for adding, starting, and stopping services.
Setting up the server with the services I wanted (AFP, netboot, Open Directory, WWW, and Software Update) was a breeze… until I wanted to change the DNS name of the machine. I tried without success to do this; the changeip -checkhostname command reported that my hostname was correct, but it remained stubbornly wrong according to the clients, which could no longer find the original server and refused to try finding the new name. I eventually decided to demote the server from an Open Directory master to standalone and back again– the equivalent of decomissioning a Windows DC and then re-running dcpromo.
Good idea in theory. In practice, the conversion process threw tons of errors, none of which were documented anywhere. (Does “-14893” mean anything to you? Me neither.) The solution: pave the box and start over.
Normally I would have been throwing fits about this, but the installation process was fast and smooth enough that I didn’t mind; I had plenty of other work to occupy me in the meantime. After the reinstall, I gave the server the correct new name, converted it to an Open Directory master, and was off to the races.
In the meantime, some other people had been unpacking and setting up the clients. Now it was time to join them to the Open Directory server. This is like joining a domain in Windows, except that it isn’t much like that at all. Joining a client to OpenDir is more like telling it “hey, look here for account data.” There’s no machine account or object in the sense we think of them in Windows unless you manually create one. When you first boot a virgin Mac OS X client, if it sees an OpenDir server it will offer you the opportunity to connect to it. Once that’s done you can use OpenDir accounts for logon. If not, you can manually join it at any time from the Login Items pane in the Accounts preferences item.
One of the big reasons we wanted to use OS X Server is so we could push policies to the client machines. Apple calls these preferences, and they can be applied to individual user accounts, user groups, computers, or computer groups. There are all sorts of policies; the ones we were interested in were for controlling logon, access to removable media, and a few other related things. Setting up policies is trivial: find the scope you want the policy to apply to, click the appropriate icon (helpfully, these match the icons used in the System Preferences app), and choose which settings to enforce.
In our case, we wanted policies to be applied to computers. Registering a computer requires you to look up the computer’s unique ID and its MAC address, then enter both of these when you create the computer object. At that point you can assign policies to individual computers or computer groups. It was never clear to me when policies were actually applied: some seemed to take effect immediately, others only after a reboot of the client. (No doubt it’s documented somewhere and I just haven’t found it yet.)
The policies themselves are a mix of the obvious (“don’t allow users to mount USB devices”) and the Apple-only (disable Front Row, for example, or force the use of Mac OS X parental controls.) However, there are only a few settings compared to the huge number available in Windows. However, there’s an escape hatch: you can modify the contents of any preference plist file, so even options that can’t normally be changed through the GUI on a local machine can be managed. This is a handy feature.
Unlike Windows group policy there’s no way to push or publish applications to the clients. For this, you need Apple Remote Desktop, for which no precise equivalent exists in the Windows world. It is a combination of a management and inventory tool, a remote shell, and a desktop support application. You can use it to push files, remotely install applications, run arbitrary shell commands, and watch or control a user’s desktop. In our application, we use it to push a bootstrap installer, run it, and take care of some assorted housekeeping. It also has a neat-o mode that lets you observe multiple clients at once in a grid display. This is extremely useful for our environment, because it lets us see a classroom full of client desktops at once.
It’s easy to use ARD for a building-block approach: test a command on one machine, save it for later, run it on multiple machines when needed, and then string it together with other actions into a single set of actions. This made bootstrap setup of our clients much, much easier.
Next: time sync. OS X Server has an NTP service, and it’s easy to turn on and run. You cannot, however, easily instruct clients to use it. You have to push an update to /etc/ntp.conf onto every machine. That’s a pain. Apple Remote Desktop to the rescue, again.
Now, for the complaints, in no particular order.
The Software Update service is balky and buggy. Essentially it’s a custom CGI that runs on the built-in Apache installation. You can pull updates from Apple, choose which ones you want clients to get, and then allow clients to pull them. Great idea in theory, but it just doesn’t work well. Some clients see the right updates, and some don’t. The interface for choosing which updates you want to pull in the first place doesn’t let you select or deselect updates until after you’ve downloaded them, which means you have to wait for your server to sync before you can choose which updates you’d like. I spent about an hour trying to figure out why none of the clients could pull updates, only to learn that the path suggested in the setup dialog is wrong.
Logging is a mess. There are about two bajillion log files, each in a different location, each with different formats. The system console log can be searched, as can the individual component logs shown in Server Manager. However, the event management tools in Windows are easier to use and more complete. The bigger issue is that Windows event log messages are usually quite detailed. Microsoft’s gotten pretty good at writing meaningful event log entries over the years. Apple, not so much.
Bugs! I mentioned the problem I had with OpenDir master-ism earlier. I didn’t run across any show-stopping bugs, but there are still a fair number of rough edges. In fairness, some of these were probably due to me bumbling around.
Documentation: it’s a set of PDF files. I much prefer Microsoft-style layouts that have an easily accessible table of contents in one pane and the content in another. My preferences aside, the docs are nowhere near as detailed as Microsoft’s. You would be hard pressed to deploy Mac OS X Server in an enterprise without an awful lot of around-the-campfire knowledge passed down from greybeards, because the docs don’t include many of the things you’d want to know before basing your business networks on OS X.
Having said that, I found the Mac Enterprise mailing list to be extremely helpful, though I wasn’t always sure what they were talking about. They were able to efficiently answer the few questions I asked, not at all unlike the golden days of mailing lists for Exchange. From reading the list I learned about two very cool system management technologies I plan to make use of: Puppet (a cross-platform scripting language for system management) and Sikuli, which is hard to describe except to say that it’s a screenshot-based scripting environment.
Thus far everyone is happy: the client Macs work, they’re being managed the way we want them, and life is good. As I learn more about how to make OS X Server do cool tricks, I’ll try to post them here.

Comments Off on An interesting week with Mac OS X Server

Filed under General Tech Stuff

Tag cloud now working

Good news: I have tag clouds working on my blog, about five years after the rest of the Internet got them working.

Bad news: now I have to go back and retag a thousand-plus posts if I want the cloud to be useful.

Comments Off on Tag cloud now working

Filed under General Tech Stuff

SecureDoc full-volume encryption for Mac OS X

Windows users have more security options, and that’s just the way it is. Or is it?

Let’s start with the obvious: I love BitLocker and I cannot lie. Despite its faults, it remains a great example of a real-world security feature that delivers immediate value. It’s fully supported by the OS manufacturer, meets government security standards, and doesn’t have to rely on skanky hacks to work its magic.

Windows laptop users can also take advantage of Seagate’s Momentus FDE line of disk drives. These disks, sometimes called self-encrypting disks or just SEDs, perform hardware encryption, and they are qualified by the US National Security Agency as meeting NSTISSP #11. Unfortunately, these drives require support in the BIOS. Since Apple’s laptops all use EFI instead of the standard x86/x64 BIOS, you can’t just plop a Momentus FDE into your Mac and expect it to work.

The only solution I’ve found to get an SED to work in a modern Mac laptop is from WinMagic. Their SecureDoc product is essentially a full-volume encryption tool that competes directly with BitLocker, as well as with other FVE products from PGP, PointSec, and so on. The big difference: the Mac version of SecureDoc supports Momentus FDE disks. Naturally I had to try it.

Installation is simple: you run an installer, which adds a couple of kernel drivers and modifies the boot loader. If (and only if) it detects an unlocked Momentus FDE as the boot volume, it will ask whether you want to use hardware or software encryption. (The installer also tells you that it will change the system’s hibernation mode, but let’s not get ahead of ourselves yet…)

When you’re done, you must reboot, at which point you see the new (and quite ugly) SecureDoc login screen. When you log in here, the SecureDoc bootloader unlocks the FDE disk and the normal Mac OS X boot cycle proceeds.

The docs ask that you turn off pagefile encryption by unchecking the "Use secure virtual memory" option in the General pane of the Security preferences tool. This makes sense: there’s no reason to ask the OS to encrypt the page file if the disk on which it lives is already encrypted. You must also turn off the "Put hard drive to sleep whenever possible" checkbox, as the OS doesn’t deal well with having the disk go to sleep (and thus get locked) while you’re using it.

In my test install, I ran into an odd problem: the machine would freeze when waking from sleep. The cursor and keyboard would work normally, but I’d get the spinning rainbow pizza of death. After doing some digging, and with the help of WinMagic’s tech support folks, I determined that the system’s hibernation mode wasn’t properly set by the installer. (Page 4 of this document is the only place I’ve found the different hibernation mode codes explained.) Uninstalling the SecureDoc software, manually setting the hibernation mode with the pmset tool, and reinstalling it fixed the problem and it has worked flawlessly since.

The standalone version of SecureDoc doesn’t have the same set of management or control features that BitLocker does. Of course, that’s because WinMagic wants you to buy their server-based toolset, which uses a group policy-like mechanism to enforce whatever encryption policies you choose. Without having tested either the server tool or the Windows version, I’m not ready to pick a winner between BitLocker and SecureDoc, but for the Mac it’s a low-impact solution that does what it says, and I’m happy with it so far.

Comments Off on SecureDoc full-volume encryption for Mac OS X

Filed under General Tech Stuff, Security