Friday, November 24, 2006

Free Domain Name Services

Have you ever wanted to:
  • Retrieve a file from your a computer at home over the Internet?
  • Remotely control a computer at home?
  • Run a webcam so you could keep an eye on your family, pets or home while you were away?
  • When gaming peer-to-peer over the Internet, not have to always send your current IP address to your fellow gamers?
If you regularly have to determine your current broadband (DSL/cable) connection's IP address, and then have to send that IP address to someone else, or simply want a domain name which never changes (even if your IP does), then you are a good candidate to have a domain name. In any application in which a user is required to enter the IP address of a remote computer (i.e., 128.101.32.6), a domain name can usually be substituted. Typically, consumer broadband service via DSL or cable provides the user with a "dynamic IP address," which means that a customer's address on the Internet may change at any time, assigned from a "pool" of registered addresses which your service provider has registered (allowing them to have registered a smaller number of IP addresses than users). This means that your broadband modem's IP address at any time is unpredictable.

Although registering and maintaining a domain name in the traditional sense costs money and requires thinking of a unique, memorable, and unused (very difficult, these days) name - you can get a functional domain name for free, as long as you're willing to live with a few compromises.

Several companies offer services which provide free domain names. These companies also sell commercial domain name services. With free services, however, your domain name is typically sort of an "extension" of domains owned by the domain name service company. So after selecting from a list of suffixes, and entering your own prefix, your domain name might be "mydomainname.dyndns.org." Note that these must be unique, so your first custom name choices might not be available - but if the company offers multiple suffixes, you might be able to get "mydomainname.serveftp.net." (If you wish to have a domain name without these suffixes, that will involve paid services.)

Note that if your ISP (Internet Service Provider) changes your IP for whatever reason, there will be a period of time in which your domain name is unreachable. This delay can be as short as a few minutes, some of which is based upon the frequency which the "update client" (a small piece of software that runs constantly on a computer on your network to check for IP address changes) checks, plus the time it takes for this change to propagate through the dynamic domain name service. This is an unavoidable consequence of having dynamic IP service. If you wish your domain name to be more stable, consider getting a "static IP address" from your ISP - this will typically involve additional monthly fees, and possibly changing service providers.

We've used two free services to maintain domain names with a dynamic IP. For years I've used a free service from DynDNS. This service uses a piece of software called an "update client" running on any computer connected to your broadband connection which informs the DynDNS servers of your current IP address. The software checks every few minutes and updates the DynDNS database of what domain name goes with what IP address - this Domain Name Server (DNS) begins to propagate throughout the Internet. The process is transparent - ours has been running for several years without maintenance.

BROADBAND ROUTER
There's a bit more complication here (like there hasn't been enough already). If you don't already have a "router" between your home LAN and your broadband connection (DSL/cable "modem"), you'll definitely want one to act as a firewall (you shouldn't be connected to the Internet without the protections of a router anyway). You'll need to set up the router to "forward" requests by different users on the Internet (i.e., you trying to retrieve shared files; viewing a webcam; requests from Web browsers to your Web server; gaming friends attempting to connect to your gaming machine) to your home's domain name/IP to the appropriate computer on your LAN (different computers on your internal network can serve these different purposes concurrently). Consult the documentation for your broadband router to configure "port forwarding."

USES

A substantial collateral benefit of having a domain name is being able to communicate with your home computer(s) from anywhere in the world. Not only can you make HTTP connections with one computer's web server, but you can make AFP (Apple File-sharing Protocol), FTP, SSH, and a host of other kinds of connections to any of the computers on your home LAN (though each service can only be associated with *one* of the computers, you can have all the services on one, or a different service on each computer). So you can access files on a Mac or PC at home from anywhere in the world. With Apple Remote Desktop, Netopia Timbuktu, or even *free* VNC software you can even remotely control your computer from anywhere in the world.

Setting Up a Webcam in OS X

We began running a webcam many years ago to see how our pets were doing while we were away on vacation. Here are some fundamentals about setting up a webcam on Mac OS X.

CAMERAS


A webcam camera can be a number of possibilities (in no particular order):

Network Camera - This is a relatively recent type of product - wired cameras which plug into Ethernet patch cables which can be hundreds of feet long and wireless (802.11/WiFi) video cameras which (if you already have a wireless network) only require AC power, and can be placed anywhere they can hit your wireless network. Wired cameras area available for under $100 and wireless cameras start at under $200. If you've already got a wireless network, webcam software that *supports* the camera and you don't mind the expense, this is the easiest path to getting a camera. This page at the EvoCam webcam software site (more below) lists compatible network cameras.

USB Camera - Though inexpensive (as little as $30-40), these suffer from a number of drawbacks, chief among them a short (typically under 6 foot) USB cables, meaning that the camera is forced to be near the computer. USB extension cables up to 10 feet or so can get your camera as far as 16 feet away from your computer. You can buy _powered_ USB extensions which amplify the signal - but each 15 feet costs $35-40. These cameras won't perform well in low light, and will generally have a "normal" focal length lens - meaning that covering a wide area means having the camera far back from the subject.

FireWire Camera - Some webcam software (see below) supports DV cameras connected via FireWire, including iSights. Similar cable length issues to USB exist. I've seen 100-foot FireWire cables, but they cost $300 (FireWire specifications limit single cables to 4.5 meters - 15 feet).

FireWire Converter - This is an expensive solution, but if you already have one around, an analog-to-digital FireWire converter (such as the ADVC-50 from Canopus) allows you to connect an analog camera at the end of a very long conventional video cable. This is kind of overkill, but if it's something you already have or want...

USB Video Digitizer - For all the reasons I've already mentioned, I use this somewhat obscure solution - an "InterView Lite" USB video digitizer and USBVision for Mac OS X driver software. This is a hardware product from a now defunct company, sold now by EchoFX who wrote their own software to support it. Actually, I use their software to connect to an InterView Lite (purchased from someone else, I think) *and* an older Belkin USB video capture device (USBVision can drive many USB video devices, including USB cameras).

The two digitizers are plugged into one computer (our server, a 450MHz G4), and 50-foot video cables cross our house (through a wall, in one case) where they are connected to small low-light, high-resolution monochrome video cameras. These cameras have really come down in price in recent years - here's a typical example which advertises for $35 mail order (we've paid over twice as much for both of our non-illuminated cameras), and features built-in infrared illumination (which means you'll be able to see things relatively close to the camera without visible light).

If you have an old VHS camcorder or camera lying around and it has composite or S-video output, this can serve as a camera as well (we had an old full-sized video camera as our CatCam for almost a year), though it'll use far more power and be generally hard to discreetly position in your house.

SOFTWARE

I've used two pieces of webcam software, and reviewed perhaps a half-dozen over the years when seeking replacements. For many years I used Oculus, which had really nice features, but was never stable. On a ridiculous number of occasions I had to ask our cat-sitting friend to restart our server because Oculus had locked up.

Today I run EvoCam. I miss a few cool features of Oculus (automatic thumbnails, NOAA weather data overlays), but EvoCam also has a few tricks that Oculus didn't - especially live video, where it allows you to view live full-motion video (at very low frame rates - even over ADSL, it delivers 2fps at best). This is pretty exciting, to be able to see your webcam right now from anywhere in the world. This live video is viewable by any modern browser via Java technology, and doesn't require that the viewing computer have any special software installed. EvoCam has proven to be tremendously stable - running now for 10 months or so with no noticeable problems.

I've considered the kind of big project of having multiple X-10 (remote control over AC power lines) controlled cameras, switched remotely over the Internet via web page, feeding the live EvoCam stream. That means we could switch around our house to our cats' favorite six places and see who is where at any time. Geeky, fer sure.

As mentioned earlier, EvoCam supports all kinds of cameras (see their site), even supporting multiple cameras (we run two cameras all the time).

"Motion sensing" features in EvoCam and Oculus store images based on how much has changed in the frame. The webcams can also take periodic stills. But with motion sensing set up, we see only when our pets actually spent time in a particular location - which is exactly what we want to know.

WEB PAGE

There are a lot of variations possible here. I try to "tune" the motion-sensing so that in the 30 "recent" images on our CatCam page allow us to see something like most of a full day of activity at a glance. Oculus and EvoCam provide a way to retain recent images (actually renaming all the old images every time a new one is added). Super-simple pages included as examples with webcam software often only display one recent image.

EvoCam and Oculus also support archiving QuickTime movies of every image taken when motion is sensed.

COMPUTER

In order to host a webcam, you'll need a computer. I'm assuming you'll want that to be a Mac. This could be all kinds of things, but you want something that can run OS X. If you want a dedicated server, any old iMac would be just fine, though you can't turn off the CRT - a bit of power use you don't need. An old blue-and-white G3 or newer (I don't recommend trying to run OS X on a beige G3) would be a good web server. Of course, you can use any existing Mac you might have, as long as you're willing to let it run whenever you want the webcam to work.

There are actually computerless solutions to webcams - network cameras that upload to Internet ftp locations - but they don't allow you a lot of flexibility about how the site looks and works.

INTERNET SERVING

In order to view your webcam's images, you have basically two alternatives: 1) have the webcam upload images to a remote FTP space hosted by a private or public server (such as your ISP); or 2) serve the images directly from your home computer.

Sending images to a remote FTP server is less difficult than serving the files yourself. However, depending upon the amount of activity your webcam sees, this means your webcam may create a large amount of outbound traffic over your Internet connection. Not only does the image file need to be uploaded whenever the camera takes an image, but if you (like us) have a page with multiple previous webcam images, there will be a lot of traffic while the software renames all the previous files on the remote server. I did this years ago, but we've run our own server with our own domain name (see below) for years.

OS X has a built-in web server, the famous Unix-based Apache. So you don't need any other software to host web pages from an OS X Mac.

DOMAIN NAME

We've used two free services to maintain domain names with a dynamic IP ("dynamic IP" means that your broadband ISP might reassign your home's Internet address at any time - allowing them to have a smaller number of IP addresses than users). For years I've used a free service from DynDNS. This service uses a piece of software running on your Mac which informs the DynDNS servers what your current IP is. The software checks every few minutes and updates the DynDNS servers - this Domain Name Server (DNS) begins to propagate throughout the Internet. We've almost never had to wait to connect to our server because our IP had not been updated at the time we were making the connection attempt. And the process is transparent - ours has been running for several years without maintenance.

There's a bit more complication here (like there hasn't been enough already) - if you don't already have a "router" between your home LAN and your broadband connection (DSL/cable "modem"), you'll definitely want one to act as a firewall (you shouldn't be connected to the Internet without the protections of a router anyway). Then you'll need to set up the router to "forward" HTTP requests (by web browsers) to your home's domain name/IP to the right computer on your LAN.

A substantial collateral benefit of having a domain name is being able to communicate with your home computer(s) from anywhere in the world. Not only can you make HTTP connections with one computer's web server, but you can make AFP (Apple File-sharing Protocol), FTP, SSH, and a host of other kinds of connections to any of the computers on your home LAN (though each service can only be associated with *one* of the computers, you can have all the services on one, or a different service on each computer). So you can access files on a Mac at home from anywhere in the world. With Apple Remote Desktop, Netopia Timbuktu, or even *free* VNC software you can even remotely control your Mac from anywhere in the world.

EPILOGUE

With a small amount of effort, an old Mac can become a 24/7 webcam server so you can easily see the activities your family, pets, home or whatever is important to you.

Thursday, November 23, 2006

Revert your Graffiti 2 Palm to Graffiti 1

If you're an long-time Palm user like me, you may also resent the apparently bizarre changes in Palm's handwriting-recognition system, Graffiti.

I'm a regular Graffiti writer, with probably a couple of megabytes of text composed over the years in various Palms. I use a full complement of punctuations in my Palm-based compositions. So it came as an unpleasant surprise that as we transitioned to newer Palms, so too we were forced to change to a "new" handwriting-recognition system Palm calls Graffiti 2. As it turns out, Palm had to stop using G1 because they got sued by Xerox over infringement of a handwriting recognition system. So Palm had to come up with something else. The terms of a settlement in June 2006 suggest Palm could return to the original Graffiti - but that won't help users of existing Palms with G2.

Initially, I found that the "hack" that had worked for our Zire 71 would NOT work in my T5. I accepted that as a consequence of wanting T5 features. I un-learned G1 and learned G2, but some G2 gestures are ridiculous: 2 strokes each for an "i" or a "t" - two of the most common letters. The deal-breaker was that some applications, such as Pocket Quicken, auto-fill based upon the first character, but were never updated to recognize G2. The workaround for this was as follows: entering a bogus one-stroke first character, then entering a real first character, then cursoring one character left, then deleting the bogus first character, then forward-cursoring one, then entering the second character - only then would auto-fill work. Easy, huh? Quite maddening.

Fortunately, the hobby community has provided solutions to revert most G2 models to Graffiti 1. This web page details the procedure to restore Graffiti 1 functionality to most newer Palm models. There may be some stability issues in the modified files for Palm OS 5.4 devices (T5, TE 2, Z22 and TX), but I'm willing to suffer an occasional crash to rid myself of G2 forever.

Broadband Primer

This was excerpted from email written to a relative inquiring about getting broadband service for the first time in Fall 2006.

BROADBAND SPEEDS
Speeds are typically expressed in terms of "kilobits per second" or "megabits per second." A dialup modem is typically capable of about 50Kbps downloading, and 33Kbps uploading. Until somewhat recently, a typical DSL residential account has been 768Kbps to 1.5Mbps *maximum* download, and upload is typically lower: 128Kbps to 384Kbps.

(Here, I recommended one increment higher than the slowest tier of service from a local DSL provider.) The 1.5Mbps (actual speeds may be much lower - this is a maximum possible figure) speed would get you snappy browsing, and give you some significant speed (20-30 times a dialup modem) for downloading very large files such as software updates, audio or video files. You may not think you have a reason to download audio or video files, but there's an increasing amount of interesting content online (much of it free) which would be awkward or prohibitive to download with lower-speed connections (i.e., a 3-hour download you won't even notice overnight or while out shopping - but a 60-hour download on a slower connection would hog your bandwidth, making Web browsing sluggish for almost three days).

I'm very conservative about recommending how much money someone else spends, but I think it's worth the $7 extra over the lowest-cost plan for the huge performance difference (as much as 6x faster). The faster plans are probably more than you need at this point.

BROADBAND ROUTERS
I'd strongly recommend that you get a "broadband router" to insulate yourself from the Internet. This $30-60 device allows you to connect to the Internet and retrieve data on multiple computers (if you wish) inside your home, but prevents any outside user from getting inside your home network from the Internet. If you get a "wireless" broadband router, you'll be able to connect a laptop or desktop computer through a secure, encrypted connection up to 150 feet from the router. It's quite liberating to be able to carry your laptop from room to room while maintaining an Internet connection. Note that you may require a $30-40 "WiFi card" in any or every computer - most new laptops have this functionality built-in.

Here are the important things a router does for you:

  • Obviates (in almost every case) the need for installing any software related to connecting to your ISP. With a router installed, your ISP won't know or care which OS (Operating System: Windows, MacOS, Linux, etc.) you're using. The router makes an agnostic connection to both your computers and your ISP. I should say that they likely won't be able to help you with this aspect of your connection, but there should be no need for their help. Once properly installed and configured (a relatively simple operation), the computer(s) in your home connected to the router (either by wired or wireless connection to the router) simply know they have an Internet connection.
    • Your friend will install the router between your broadband "modem" and your computers. The computers should then be configured to generically connect to "a TCP/IP network using DHCP via Ethernet connection," and they should be able to do any Internet tasks: Web browsing, email, voice chat, etc.
  • Protects you from unwanted intrusions from the Internet by providing a firewall. A "firewall" prevents any access to your computer from the Internet-side of your router. Though perhaps somewhat unlikely, a malicious user or "robot" (a computer doing malicious activities autonomously) could still randomly discover your computer on an unprotected connection.
  • Creates a Local Area Network (LAN). An added benefit/feature of installing a router is that it creates a LAN (Local Area Network) within your home. With your computers properly configured, this allows you to potentially copy/share files between computers, and share resources such as printers. (Note that you may not be able to do some resource sharing in older versions of Windows).
  • Allows wireless networking in your home. I should have suggested previously that if you're going to buy a broadband router (some companies will call this a "Cable/DSL Router"), and there's any chance that you'll have a laptop computer, you might as well spend perhaps $20-30 more to get a _wireless_ router. This actually is a wired *and* wireless router, and does serve the important functions we'd like you to have even if you only have wired *or* wireless connections between your computer(s) and the router. But wireless functionality would allow you to use any computer, anywhere in your home without running wires to its location. This could include a desktop computer equipped with a wireless "card." Wireless connectivity is very convenient, allowing you to freely move about your home while maintaining a constant Internet connection.

Information about broadband for which you didn't ask:
  • Advertised inbound rates are listed as maximums - actual performance at your home could be lower. Some providers list a guaranteed minimum. Upload rates are typically actual maximums.
  • DSL uses telephone wiring - usually existing wiring which the customer already uses for voice calls. DSL data uses the copper phone lines concurrently with, and independent of, telephone calls. So you can use the telephone and DSL at the same time. Indeed, the DSL connection is somewhat continuous, or "always on."
  • DSL is only available within a maximum distance from pieces of network hardware in the telephone company's physical layout which are referred to as "CO's," or "central offices." It is possible that you many not be able to get DSL service because you are too far from a CO. You may also only be able to get lower-speed plans further from COs, as signal integrity can be compromised by distance.
  • Telephone companies are often DSL providers (they own the wires), but because of anti-monopoly laws must also allow other providers to sell DSL service over their lines.
  • Broadband service over cable television lines is provided by cable providers. Performance is similar to DSL, and sometimes greater.
  • In the correct usage of abbreviating, a capital "B" represents Bytes, and lowercase "b" represents bits. So 768 Kbps/8 bits per byte = 96 KBps.
  • "ADSL" stands for Asymmetric Digital Subscriber Line. The asymmetric part describes that the inbound "download" speeds are faster than outbound "upload" speeds. Most consumer services are asymmetric, assuming that users will primarily intake content, and infrequently submit content. Users with high outbound traffic are assumed by bandwidth providers to be professionals, so higher outbound rates are disproportionately expensive. Don't worry about this - [as a consumer] you won't be encountering SDSL (Symmetrical) providers.

Mac OS X Hints for an OS 9 User

Congrats on both the OS X Macs. As I've said many times, you won't regret it. We've pretty much never looked back since moving to OS X - and I waited a good 2 years before making the jump.

As I've also said, OS X reliability is fantastic. That's not to say that you won't have crashes, and it's still possible to have conflicts between, say, a piece of hardware and something in the OS. But if you are conservative about what bells and whistles you run (I'm definitely NOT), you probably won't encounter many issues. It's really incredible how different the computing experience *is* after OS 9 (and Windows 95, 98 and XP). I've probably said this before, but I manage 70 eMacs running OS X at [my wife's college lab], and I do literally *nothing* to maintain them. I only spend time when we're changing installed software or operating systems - I do NO troubleshooting or ongoing software maintenance - NONE. (Macs running OS 9 progressively degraded over time, even with users locked out of writing to the boot drives - users of Windows 95/98 will be familiar with this kind of fragility.)

You now have the option to be running Windows on your Intel mini, should you be so inclined - using either Apple's free Boot Camp solution or a commercial solution such as Parallels (unlike Boot Camp, which requires restarting the computer in either OS X or WinXP, Parallels allows the user to launch Windows applications while still running OS X). You'll still have to worry about viruses, worms, spyware and adware on the Windows partition, though. (NOTE: Installing Boot Camp requires formatting the hard drive for two logical partitions.)

I should also mention that now that you have two FireWire Macintoshes, you should absolutely know about "Target Disk Mode." By starting up either of your Macs while holding down the "T" key, that Macintosh will effectively become a FireWire hard drive for that session. The screen will display a solid blue background with a floating yellow FireWire logo, and you'll be able to read/write to/from a connected Mac. OS X also supports networking over FireWire - providing a faster-than-Gigabit Ethernet connection between two Macintoshes. Because either of those Macs can also "share" its Internet connection (which it has established via wired Ethernet, WiFi, or even modem), it's possible in an emergency for two FireWire Macs to share an available Internet connection as well.

This ability to use a Mac as a FireWire hard drive is also extremely useful in that it is very simple to "clone" one Mac to another. You can also clone a Mac to a FireWire hard drive, and boot from the FireWire hard drive - a fantastic utilitarian infrastructure. It means you can have your own "Mac" on a portable hard drive, and boot it on any other (compatible) Mac hardware. This is also an excellent technique for upgrading to a larger hard drive. (I recommend either Carbon Copy Cloner or SuperDuper to clone bootable Macintosh volumes.)

Another random thought: you can remotely control one Mac from the other using free software. Download the open-source project Chicken of the VNC and put it on the controlling machine. On the machine to be controlled, in System Preferences:Sharing:Services turn "Apple Remote Desktop" ON, and in "Access Privileges," check "VNC viewers may control screen with password" and give it a good password. Make a note of that computer's "IP address" (in System Preferences:Network) and enter it and the password in Chicken of the VNC at the remote viewing computer.

I manage our mothers' Macs from 2700 miles away using this and similar technology - it's quite sluggish over consumer broadband connections, but much easier than flying round-trip.

Presentation Alternatives on OS X

A friend who used to work with me in live television production is a one-year Macintosh (a Mac mini G4) user. She has edited some ambitious projects in iMovie and created DVDs with iDVD. She emailed me this question:
This past weekend, my brother came over and I am going to try to help him with a work project. It might end up being like a power point presentation/ slide show, with music and we may record him reading the script for [announcer voice over].
So the unique part of their project was that it is essentially a slide show with continuous narration. The following was edited from my response:

WHAT KIND OF PRESENTATION, LIVE OR KIOSK?
Is the presentation NOT accompanying a live presenter (i.e., your brother)? Will it play unattended, like video? Will it play on a computer, or do you intend to play back on tape or DVD?

Assuming there's a live presenter, you'll need some kind of interactive control of the playback. This is what presentation software is made to do, and those solutions (following) would be more appropriate. It can be tricky to synchronize a voice track with pictures in presentation software, although they do have support to "time" presentations for a live speaker.

If it's really more like a "kiosk"-style unattended presentation, to be viewed as a "movie," and contained more complex elements than pages of text, I'd lean toward doing this as a video production. Presentation software (PowerPoint and Keynote, for example) can typically generate movies as an optional feature. But again, timing the transitions to the voice track might be tricky.

I just tried recording a narration within PowerPoint while watching an existing presentation. I narrated, and changed slides while I narrated. When I played back the slide show, PowerPoint truncated my narration at every slide transition, as though it were "rounding off" times to whole seconds. If i'd made a transition while talking, it just cut me off to start the next slide's narration. STUPID! Over the years, both Word and PowerPoint have gotten so rife with "helpful" features that it's nearly impossible to get what *I* want the programs to do. They just "automatically" make decisions like this one. Apple's Keynote (at least, not the somewhat earlier version I have) doesn't support recording narrations within the program, but allows you to drop audio files on each slide. This is also an awkward process for a fully narrated, self-contained presentation. So if you want something like a movie, make it with a video editor, but probably NOT iMovie (more below).
Does Mac have a power point program? And if so, what is it called? And would it already be on my mac?

PRESENTATION SOFTWARE
First of all, Microsoft PowerPoint is available for Macintosh (PowerPoint debuted as a Macintosh-only program in 1987 - the Windows version appeared in 1990). It's currently part of Microsoft Office for Mac 2004. You can buy it from Apple, but it's cheaper at Amazon. As the name implies, it's been a while since Microsoft updated this suite - but a "Universal Binary" version which will run on both PowerPC Macs (like yours) and the new Intel-powered Macs is due soon - I'd guess early 2007. You'll probably qualify for a free or inexpensive upgrade when it releases if you buy Office now. I've stopped using most of Microsoft Office, with the exception of Excel. I've never been a PowerPoint user and Word's just gotten stupid over the years. But (my wife) uses PowerPoint (one key feature keeps us from transitioning to Apple's Keynote - "drawing" over the presentation live while presenting) and has to work with and submit Word files with co-workers, so we keep current versions of Office. Her school district has some licensing arrangement (a clever part of Microsoft's Plan of Domination in which everyone eventually *has* to use Office - but see "OpenOffice.org" below for a solution to that) which allows us to buy Office for a token amount, so at least I don't have to gripe about paying for it.

Apple's presentation software is called Keynote, and it is sold as part of Apple's iWork software suite - along with Pages, a page-layout program. iWork costs $79 retail, but you could but it as a staff member of GDS at the educational price of $49. Both Keynote and Pages are very slick - you'll recognize interface elements from iMovie and iDVD, including a Media Browser that lets you peruse your iPhoto and iTunes libraries for images and sounds to include in your document. Keynote can import and export PowerPoint-compatible files, and it can save files it's own file format (with non-PowerPoint features).

AN OPEN-SOURCE OFFICE SUITE
You should also know about the open-source project OpenOffice.org. This elaborate and ongoing project maintains a cross-platform suite of programs that emulates the functionality of Microsoft Office. Users of just about every operating system in use today can download a free set of programs that are transparently compatible with Microsoft Office, both reading and writing Office files. It's not the easiest thing to install on a Mac, as it may require you to install the "X11 environment." This is actually a Unix GUI (Graphical User Interface - a way of representing files and directories with pretty icons - like the Mac OS or Windows). You may already have X11 installed if your computer came with OS 10.4 and not 10.3. Otherwise you'd have to install it from the OS 10.4 installer DVD. (If "X11" or "X11.app" is in your /Applications/Utilities folder, then you already have X11 installed.) OpenOffice can open and write PowerPoint presentations, so you can pass along a presentation you've made to a person with Microsoft Office or OpenOffice. (NOTE: even though files are compatible, there are always potential issues with fonts that you may have installed that others do NOT. Here's a web page with some links to lists of fonts common to different operating systems for use in PowerPoint presentations.)

Truly, just getting a real presentation program might be the easiest path, if the presentation is typical of a "PowerPoint" project: "slides" with intermittent graphics and mostly bulleted text. Microsoft PowerPoint, Apple Keynote or OpenOffice's "Impress" module will all do this.

I was thinking if we had the graphics or pictures, then I could just put them on the time line and cross dissolve between them in iMovie.

That's a legitimate solution, depending upon what the presentation needs to do. If you want to do that *without* real presentation software, and use video-editing tools, you'd probably want something other than iMovie (which has really poor text editing tools). (See next entry)

Postscript: She did end up doing the project in iMovie. It was the application with which she was most familiar, and (I didn't yet know) the projects was in fact a running narration to which still images with captions needed to be synchronized. This would be very awkward in presentation software, and (especially for both of us, who have been video editors) an appropriate strategy for a video editing application.

Question 2. OK, if I were going to build a graphic at the TV station. I would have a background. Then I would use the [$750K digital effects device] to shrink the video and place it in the lower left corner. Then I would add [text from a $150K character generator] in the upper right hand corner.

Is there a way to do this on my mac? Sorry, this is probably not a simple question.

MOVING UP FROM IMOVIE
Even though there are third-party add-on software tools that would allow you to do this kind of thing in iMovie, it probably doesn't make sense to spend money in this way. You can buy Apple's Final Cut Express HD for $149 educational ($299 retail). This is a subset of their Final Cut Pro HD video editing application (FCP is now only available as part of Final Cut Studio), designed for users who have production needs that exceed iMovie, and pretty much exactly what you'd want.

You already have models for what you'd like to do from working in a real television production environment - with Final Cut Express you'd be able to realize pretty much anything you'd have done at [our old TV station], and some things that were just impossible (like compositing dozens of layers of elements with no generational loss). It's probably not as *easy* to do things as at [the TV station], but it's more important that you know what you're trying to achieve - at least you'll know what you're looking for.

(Don't let the "HD" part scare you - iMovie, Final Cut Express and Final Cut Pro now all support the consumer HDV high-definition format, as well as its 16:9 aspect ratio, but they still work with the same DV format digital video and 4:3 aspect ratio in which you've already produced projects.)

Final Cut Studio is probably more than you'll want to tackle. It's more expensive ($699 educational, $1,299 retail), and its DVD Studio Pro and Motion applications have spectacularly steep learning curves. Motion won't even run on your Mac - we had to buy a meaner video card for our fastest Macintosh just to install it.

Final Cut Express does have a text tool, allowing you to create, position and manipulate text over time (using a keyframe paradigm). It's not perfect, but it's usable.


RASTER IMAGE EDITING
To *really* exercise control of the appearance of text with still images, one needs some kind of raster-image editor. The ubiquitous image-editing tool is Adobe Photoshop - but here again, this is an expensive application - typically around $600 retail. Adobe Photoshop Elements is a "light" version of Photoshop, and Amazon sells it for $72. A current $20 rebate knocks that down to $52.
OPEN SOURCE AGAIN
The open-source community has also provided a Photoshop replacement called GIMP (GNU Image Manipulation Program). Again, it requires the X11 app to run the Macintosh version of GIMP. GIMP (like Photoshop) is a very deep program, and the learning curve is steep. Also, GIMP has a rather un-Mac like interface, so that's another learning hurdle. But it's free, and very powerful.


CONCLUSIONS
If someone will be speaking live, and manually advancing through a presentation, you need either Microsoft Office or Apple Keynote (part of iWork).

If the project is self-contained and can run as a movie from a computer, VCR or DVD, I think the one thing you should do is buy Final Cut Express HD. You're probably wanting several other features this brings you (how about bluescreen/greenscreen?) that iMovie has not been able to do. There's a lot to learn, and it's not similar to iMovie, but I think you'll appreciate having better production tools.

Wednesday, November 22, 2006

Easy Private Networking with Hamachi

Problem: If you have ever wanted to connect two or more computers together over the Internet, you will have experienced the difficulties of configuring network firewalls and routers. Difficult as this is from within your own home, doing peer-to-peer activities such as file-sharing or gaming between computers when inside someone else's network can be nearly impossible. Not only might you not have privileges to configure their network (i.e., inside a corporate LAN), but the network from which you may have Web-browsing access may have absolutely no accessible IP addresses to the Internet.

Problem: when using a public Internet connection (i.e., from a commercial "hotspot" or hotel access service), your network traffic may be exposed to all the other computers on the network. Any user on that network with readily-available "packet sniffing" software can anonymously and continuously monitor and even record the entire network's traffic - eventually extracting any content sent and received by any users. Unlikely? Probably not as much as you'd think. Anyone predisposed to this kind of malicious "black-hat" hacking activity would certainly fire up the packet sniffer on their laptop whenever they were staying in a hotel with WiFi access - the question is whether one of these people is in your hotel at the time. Ditto any public access point: the neighborhood Starbucks or McDonald's HotSpots are likely targets as well.

Problem: Your home ISP (Internet Service Provider) "blocks ports" for certain services over the Internet. They may do this for a variety of reasons:
  • They wish to limit the amount of bandwidth users use. Bandwidth is a finite commodity, more so for certain kinds of ISP with inherently lower bandwidth limitations (such as wireless- or satellite-based ISPs).
  • They with to sell users a service which the user could otherwise do free. A common example is VOIP (Voice Over Internet Protocol) services, which allow users to make phone calls over their Internet connection rather than using their telephone carrier. Many ISPs offer their own VOIP service for an additional fee. Because they compete with commercial VOIP services such as Vonage and Skype, some ISPs deliberately prevent their users - who are paying for the Internet bandwidth through the ISP - from using VOIP alternatives, including free computer-t0-computer voice chat solutions such as iChat, AIM and Skype. This is the heart of a consumer controversy known as "net neutrality" - and representatives of the U.S. government, ISPs and consumer interest groups are gathering for battle.
    • I've recently encountered filtered ports with ClearWire, a wireless broadband provider. While I don't know their motives, their filtering prevented my remotely controlling my mother-in-law's computer, and prevented her from using voice chat features. ClearWire support would only tell me that those ports were blocked, and that they could not un-block them. ClearWire does sell a VOIP telephony service, so that's definitely suspect. When radio signal propagation issues (brought on by increasing foliage at the end of winter) led to service interruption issues, she gratefully canceled the service.
A solution to both configuration and privacy issues is to utilize a Virtual Private Network, or VPN, tunnel. VPN tunnels have long been used by corporate entities to encrypt sensitive information which has to travel over public networks. In typical practice, an corporate employee would connect from the field over public telephone or, later, broadband Internet connections to the corporate "VPN server" - a service running on a computer which negotiates and encrypts the subsequent private connection. When this encrypted traffic is viewed by a "man in the middle" with network analysis software such as packet sniffers, the traffic appears to be random noise.

Unfortunately, VPN servers require resources that most consumers don't have or want: dedicated IP addresses, 24/7 server machines, and the VPN server software itself.

Solution: Hamachi - To the rescue comes Hamachi. With this free open-source software, anyone can securely connect two more computers into an ad-hoc network as though they were geographically and topographically on the same LAN.

Most importantly, in all but a few rare possible cases, this virtual network can be created and joined by users having minimal Internet access privileges. If a user has Web browsing access, they can probably use Hamachi.

As the Hamachi site suggests:
  • Think:
    • File Sharing (Windows, Macintosh, etc.)
    • iTunes (sharing music over the Internet, disabled by Apple since v4.0)
    • Remote Desktop (controlling another computer at a distance)
    • Remote Assistance
    • Gaming
How Hamachi Works (my simplified view):
  • Users download and install software on their computers (Windows, Mac OS X and Linux are currently supported).
  • Hamachi mediation server(s) run 24/7 somewhere in the world.
  • A user configures their Hamachi software client with a personal "nickname" - which represents that user/computer.
  • A user launches the Hamachi client on their computer and either creates or re-connects to a "network" they have already created - using an arbitrary name and password. This creates a new virtual network interface on the computer (i.e., appearing and behaving similarly to an Ethernet or wireless networking port).
  • Any subsequent users connect to that same "network" (identified by the creating user's chosen name and logged in using an agreed-upon password).
    • The HamachiX client for Mac OS X (an independent project to provide a Mac-like application not yet developed by the original Hamachi developers) provides a nice feature to allow a user to send a small "invitation" file via email or IM client. The recipient (who must also have HamachiX installed) merely opens the invitation file, and the network connection is added to their HamachiX list of networks - very slick.
  • The Hamachi mediation server takes the "loose ends" of each user's connection and binds them within an encrypted peer-to-peer VPN tunnel. Not only is this extremely secure, but you become peers on a virtual LAN. No port filtering or forwarding issues exist (though you still have to consider software firewalls on the computers themselves).
  • The Hamachi application now provides a list of other users also connected to your network(s) (you can maintain multiple network connections in your list). Each user is identified by their chosen nickname, and the Hamachi server has assigned each user a special IP address in the 5.x.x.x range, such as: 5.92.110.102 logjam
  • Users can now use these Hamachi IPs to represent the computers of other users on Hamachi networks to which they are connected.
For me, this has been a Holy Grail: some computers I manage are topologically inaccessible from the Internet - inside corporate LANs. But with Hamachi, I just need any one machine on an isolated LAN to have a Hamachi connection - then I can remotely control that machine and, in turn, remotely control any other machine's on that LAN to which I have already configured remote control privileges.

HamachiX
I've recently discovered that the newest release of HamachiX (a package with an OS X front-end for some Unix code to run Hamachi) has an extremely simple installation method. You just open the disk image and drag the app somewhere. When you launch the app, if it doesn't find Hamachi system files already installed, it (without any real feedback while it's doing it) installs necessary Unix files (this had to be done in the Terminal before).

Use of HamachiX is simple, but not terribly obvious. When you "Add" a network, you have the opportunity to join and existing "network" or create your own. These are really just accounts on the Hamachi mediation server, and they are permanent. (NOTE: The "Add network" assistant has a bug - after entering a Network Name and Network Password and checking one of the three options, the "Add" button remains greyed out - just hit the key and the button will highlight. Odd.)

INTEL MAC CAVEAT
In the most current version's ReadMe, they state:
  • Intel macs are not working very well to date since not all of the underlying components are in universal binary format already. You can find more information on the support forum, check out < http://hamachi.cc>.
I can't quite tell if that means there's _no way_ to make it work or not. Actually, there are threads on the Hamachi Forums about Intel Macs, I just haven't dug through them.

Conclusions: Hamachi is a uniquely useful and free (for 16-user networks or less) solution to many networking problems for consumers and pros alike. It's a little obtuse to configure and use, but its immense popularity provides a rich online support community.

Hot Rodding WiFi

I was just writing a friend about a interesting WiFi transceiver (he already has an external antenna from this company on his Apple PowerBook 17" he uses all the time to grab WiFi connections at a distance) and saw that QuickerTek has a large selection of high-performance WiFi gear - especially cool are their transceivers.

DIY Cleaning Digital Cameras

Friend Saverio sent me a link for this site which discusses user-cleaning methods for the imaging devices in digital cameras with removable lenses.

In a traditional film camera, dust and debris can be forcefully removed from mechanical components by compressed air, and gently removed from optical surfaces as necessary. Dust which may land on a piece of film negative will be scraped off by the film canister, but won't affect subsequent frames. In digital cameras with removable lenses, the film is replaced by a permanent solid-state sensor. This sensor is fragile, valuable, and may not be replaceable - and user cleaning is limited or forbidden by the manufacturer.

We've owned a Pentax digital SLR for two years, and some time in the last year, I noticed subtle blobs on a couple of images which turned out to be debris on the CCD sensor. I dared only a couple of ineffectual puffs from a bulb-type lens blower (as described in the owner's manual), but eventually took the camera to a Pentax-authorized service shop - where it took 2 or 3 days and $55 for an "imaging block" cleaning. I still consider that a modest price to pay for a year or more's use of the camera with no other incurred expenses. When we're traveling and I need to do a lens change (almost always to a very long lens for something), I won't wait for "clean" conditions, so this will just be an ongoing maintenance issue.

We'll see if I dare to do DIY cleanings in the future.

Saving YouTube or Google Videos

Just a couple of useful bits - my wife had a student submit a project to her via YouTube, and asked me whether she could save the file. Though Google Video provides a "download" feature, YouTube does not.

The solution is to find the URL for the video file in the code of the hosting page and getting that into a program (like a Web browser) capable of downloading files, but several websites do this for you automatically. KeepVid is the only example that supports Google Video and many other video-hosting sites:

KeepVid
YouTubeX
TechCrunch's YouTube Download Tool

Simply copy the URL of the YouTube video page you'd like to save, then go to one of the sites above and paste the URL. Your browser will download a (generically-named) Flash video file. At this point, you'll probably want to rename the file appropriately, and give it the .flv extension for Flash video. You will probably still need a Flash viewer, and many of these can be found free online at sites such as MacUpdate or SnapFiles (for Windows users).

If you're a Macintosh OS X user (actually OS 10.4.7 or newer), I recommend downloading and installing the Perian QuickTime component. Once installed, .flv files will play in any QuickTime application - providing an easy path to editing or transcoding to another codec. (I've just test-exported an MPEG-4 QuickTime movie from a .flv clip downloaded using KeepVid after installing the Perian component. The MP4 footage looks remarkably faithful to the orignal Flash.)

Thursday, November 02, 2006

Welcome!

Roughage is live. Stay tuned!