An idea for Software Update

It struck me that in a house full of Macs, downloading each update for every Mac isn't very efficient. What if there was a Software Update Proxy service?

  1. Client machine C1 selects machine SUS as its Software Update proxy.
  2. C1 checks for updates and what do you know, there's a new update available and C1 starts the download.
  3. Acting as a proxy for the download request SUS stores a local copy of the update package.
  4. Client machine C2 also has SUS as its Software Update proxy. It checks for new updates and what do you know, there's a new update available and C2 starts the download.
  5. SUS sees that it has already downloaded (or is in the process of downloading) the update that C2 just requested. It verifies the signature of the local copy with Apple's download servers. If verification turns out ok the local copy is handed to C2.
  6. The same procedure is repeated for all Macs in the machine park. Great speedup for most of the Macs, and a great bandwidth saver.

I can see at least two common scenarios:

  1. One machine plays the role of a dedicated SU service server. All other Macs in the house selects this server as their Software Update proxy.
  2. Every machine could act as a proxy on its own, and announce this through rendezvous. Excellent for a small home network for example, where you might not have a dedicated server.

Just a thought anyway. I filed a feature request at Apple's website.

Inconvenient bug in EOModeler

When you choose create Java source files from an entity in EOModeler you usually get a Template Generation panel in your face informing you that a Class template for [entity name here] already exists. You then have the option to Overwrite, Save as, or Merge. The merge option launches FileMerge which makes it easy to integrate a model change with your custom data.

In an WO5 project however, you can put your files wherever you like. For example, in the JavaClient application I'm writing right now I've put server-side classes in a folder named Server and the client-side classes in a folder named—not surprisingly—Client. When I hit the generate source files menu item in EOModeler I first get to choose where to put the resulting files. I guess the panel is a standard AppKit NSSavePanel, and what happens is that when selecting one of my sub folders where I keep the server or client side source files I get a standard (?) alert panel giving me the option to either Cancel or Replace. Where did Merge go?

I could of course move the source files back up to the project folder, but then I'd have to rename one set of the files as the only thing telling them apart today is their package; the server-side classes have the same file names as their client-side counterparts. Very inconvenient.

Extreme Game Development

Gamasutra, Extreme Game Development: Right on Time, Every Time (requires registration): Extreme Game Development (XGD) is an agile game production method based on the popular software development method called Extreme Programming (XP). XP is not simply another fancy development method; it focuses instead on the one truly crucial issue: creating a working product.

Viagra

I'm not interested in buying Viagra. I am not interested in buying Viagra. I am N.O.T I.N.T.E.R.E.S.T.E.D in buying Viagra. STOP SENDING ME E-MAILS ABOUT VIAGRA! Please?

Man, do I hate spam...