Archive for March, 2007

Tutorial: Enabling Root Access in OS X (Tiger)

Friday, March 30th, 2007

By default, the root account is disabled in OS X. If you are a developer new to the platform, you will be needing to access many things that are available only with root access. This tutorial walks you through the process of enabling the root account in OS X.

NOTE: This guide is specific to enabling root access on Tiger, (10.4). To learn how to enable root access on Leopard (10.5), follow these instructions instead.

Enabling Root in Tiger:

  1. From within an account with administrative privilegs, open NetInfo Manager (found in the Utilities folder)
  2. If it is locked, click the Padlock icon in the lower portion of the window to allow changes
  3. Go to the tools menu and select “Enable Root User”
  4. Enter the password for your administrative account when prompted
  5. Now select Users from the “/” list, and select “root” from the users list
  6. Select the “passwd” row and double-click the password value
  7. Change the password one that is secure
  8. Click the padlock icon again to lock out further changes, and you’re done

Alternatively, you can simply type “sudo passwd root” in a terminal window, and you’re off to the races.

To change the root password once root access has been turned on, simply do the same and type “sudo passwd root” in a terminal window. Enter the new password, and you’re done.

Sphere: Related Content

News: Best Buy Buys Speakeasy for $97m

Wednesday, March 28th, 2007

SpeakeasyBest Buy acquired one of my favorite ISPs for $97 million. Great for the Speakeasy guys! Bad for us. I’ll be taking them off my list of ISPs I recommend to my clients based on Geek Squad’s less-than-stellar performance to date.

Sidenote
One thing that jumped out at me:

In 2006, it had more than 40,000 customers.

This is pure speculation on my part, but there’s no way that figure is right. That would mean that either Best Buy paid over $2,500 per customer, or that number is seriously under-reported.

Sphere: Related Content

News: CS3 Ship Date (Estimated) April 16, 2007

Tuesday, March 27th, 2007

Just in time for tax day!

According to my CS3 order receipt, CS3 is estimated to ship on April 16, 2007:

CS3 Ship Date: April 16, 2007

Sphere: Related Content

News: Dreamweaver CS3 Details Finally Revealed

Tuesday, March 27th, 2007

Dreamweaver CS3Hot diggity dog! (2nd time in two days I’ve used that expression. I think my daughter’s Disney Channel TV habits are bleeding into my subconscious…). Adobe has finally revealed product details for Dreamweaver and the rest of the entire CS3 suite.

First and foremost, the Web Premium upgrade is $499 if you’re upgrading from Studio 8, CS1, or CS2, or $340 if you’re upgrading from CS2 2.3 Premium. [link]

Web Premium includes:

  • Adobe Dreamweaver® CS3
  • Adobe Flash® CS3 Professional
  • Adobe Photoshop® CS3 Extended
  • Adobe Illustrator® CS3
  • Adobe Fireworks® CS3
  • Adobe Acrobat® 8 Professional
  • Adobe Contribute® CS3

The Standard version doesn’t include Photoshop, Illustrator, or Acrobat, so there’s absolutely no reason to even bother with this version given that the upgrade is only a few dollars less. [comparison chart, click on "Premium vs. Standard"]

A Selection of New features (from various pages on Adobe.com):

Spry framework for Ajax
Visually design, develop, and deploy dynamic user interfaces using the Spry framework for Ajax. Add interactivity, speed, and usability while reducing page refreshes.

Spry data
Integrate data into web pages using XML from an RSS feed or a database. Integrated data can be easily sorted and filtered.

Spry widgets
Easily add common interface components such as lists, tables, tabs, form validation, and repeatable regions to web pages with widgets from the Spry framework for Ajax.

Spry effects
Easily add visual transitions to page elements to make them grow, shrink, fade, highlight, and more with the Spry effects for Ajax.

Adobe Photoshop and Fireworks integration
Copy and paste directly from Adobe® Photoshop® CS3 or Adobe Fireworks® CS3 into Adobe Dreamweaver® CS3 to leverage assets from your prototype in your finished project.

Browser Compatibility Check
Save time and ensure a more consistent experience across browsers and operating systems with the new Browser Compatibility Check. Generate reports that identify CSS-related issues in a variety of browsers, without needing to launch the browsers.

CSS Advisor website
Find fast solutions to browser-specific CSS issues with the new CSS Advisor website, an online community featuring a wealth of user-contributed solutions and insight.

CSS layouts
Easily incorporate CSS into your project with the new CSS layouts. Extensive comments in each template explain the layout, so beginning and intermediate designers can learn quickly. Each template can be customized for your project.

CSS management
Easily move CSS code from inline to head, from head to external sheet, from document to document, or between external sheets. Cleaning up existing CSS in older pages has never been easier.

Support for leading technologies
Take advantage of support for leading web development technologies, including HTML, XHTML, CSS, XML, JavaScript, Ajax, PHP, Adobe® ColdFusion®, ASP, ASP.NET, and JSP.

[NOTE: Note that Ruby is not listed!]

Effortless XML
Quickly integrate XML content using either XSL or the Spry framework for Ajax. Point to an XML file or XML feed URL, and Adobe Dreamweaver® CS3 will display its contents, enabling you to drag and drop appropriate fields onto your page.

Adobe Photoshop and Fireworks integration
Copy and paste directly from Adobe Photoshop® CS3 or Adobe Fireworks® CS3 into Dreamweaver CS3 to leverage assets from your prototype in your finished project.

FLV support
Easily add FLV files to your web pages in just five clicks, with no knowledge of Adobe Flash® required. Customize the video environment to match your website.

Adobe Device Central CS3
Design, preview, and test mobile device content using Adobe Device Central, now integrated throughout Adobe Creative Suite® 3.

CSS layout visualization
Apply visual aids, such as outlines and shading, in CSS layouts to easily visualize complex nesting schemes and to select sections for editing. Select a layout to see parameters in a pop-up window, including ID, padding, margin, and border settings.

Style Rendering toolbar
View content just as end users will see it, regardless of how it’s delivered. Use the Style Rendering toolbar to preview your design in simulations of a PC screen, handheld device, or printout.

Conclusions
My biggest take-away is that DWCS3 is going their own way in terms of application development with the Spry framework. Rather than adopting more of the larger movements out there such as Script.aculo.us and Ruby on Rails, it appears they’re going the route of their on proprietary Spry framework which has been available on the Adobe Labs site for a while now.

I’m also disappointed that they do not seem to support Ruby. However, it appears that they’ve paid some attention to the fact that their Design view is all but useless as a preview tool for complicated designs or pages that are part of an app.

Beat a path over to Adobe.com and find out more for yourself.

Also, MacWorld online has a great writeup of several key apps:

Dreamweaver CS3 integrates Spry framework for Ajax
Photoshop CS3 and Photoshop Extended offer one-two punch
Illustrator CS3 adds Live Color
Creative Suite 3 largest release in Adobe’s history

Sphere: Related Content

News: Adobe CS3 Pricing

Monday, March 26th, 2007

AdobeMacRumors has posted a pricing guide for CS3, including upgrade pricing. Good news: the upgrade version of CS3 Web Premium is only (!) $499. Hot diggity dog! We’re getting close.

Adobe Creative Suite 3 (CS3) Pricing and Upgrades

[eop]

Sphere: Related Content

Productivity Tip: News, Email, Etc. on Your Terms

Monday, March 26th, 2007

TipIf you are like me, you struggle with finding time to be productive. My computer used to be a veritable fire hose of inputs. Email chimes every 5 minutes; new RSS feed updates every time I open Safari; one of my contacts coming online or wanting to chat with me in Skype. I found it almost impossible to concentrate on any single task for more than 5 minutes, so I reclaimed my productivity by turning off automatic updates or closing these apps altogether. Now, my computer is silent until I tell it to sync with the outside world…on my terms.

Tip 1: Turn off Automatic Email Retrieval
This is a big one. I often find that I have to send a quick email, but doing so means opening my mail application, which, in turn, means that I have to respond to any number of new emails that flood in. By turning off the automatic retrieval feature, I’m able to send email and get back to what I was doing. Then I can go in later when I’m ready and click the “Get Mail” button and see what’s been happening.

Tip 2: Hide Feed Counts in Safari and Move Your Feeds to a Dedicated Reader
One of Safari’s greatest features is its ability to tell you right there in your bookmarks bar how many new articles have been published to your various RSS subscriptions since you last checked in. I have about two dozen of these, so I found that opening Safari became a pavlovian exercise in checking the new feeds before remembering that I was opening Safari for a reason—to check on something actually work-related. At some point, I’m sure Firefox and IE will catch onto this great feature and start doing the same thing. As much as it pained me, I simply had to turn this feature off. In Safari, go Preferences > RSS and uncheck “Automatically update bookmarks in bookmarks bar.” You don’t have to get rid of this feature completely, however. By keeping “Automatically update bookmarks in the bookmarks menu” checked, you can get your RSS feed update counts simply by clicking the bookmark menu button.

Alternatively, you can move your RSS feed subscriptions to an external app that does pretty much the same thing as Safari. The best one I’ve found on the Mac is called NetNewsWire (by News Gator). They have a Windows reader that appears to be similar to NetNewsWire called FeedDaemon, but I have never used it. There are plenty, though, and the concept is the same: you open those apps on your terms, and read your RSS feeds when you want to, not when you’re trying to get something done.

Tip 3: Turn off Your Chat Client
I liken chat clients to working in a cubicle farm: it’s noisy and your are constantly getting interrupted. I, for one, find that open-door policies and open-air work environments are an anathema to productivity. So I turn off my chat clients and open them only when I need to make a call on Skype or ping someone at a pre-determined time. Yes, this is antithetical to the purpose of chatting, but chatting is antithetical to getting things done, so it stays off.

Give it a try. It takes an adjustment since are changing what are, in effect, addictive behaviors, but once you get used to the change, you’ll come to find that by keeping your apps quiet and the number of inputs you have to a minimum, you’ll be able to carve out longer periods of productivity throughout your day.

Sphere: Related Content

Tip: Customer Service with TextExpander

Saturday, March 24th, 2007

TextExpanderIf you have the unenviable job of support your website, you probably have received your fair share of “I can’t log in” type emails. It never seems to fail that no matter how easy you make it for people to log in or recover lost credentials, they (and by “they,” I mean AOL users) always seem to find a way to write you and complain that your site is hard to use. We’ve all been there.

Anyway, there’s a solution that makes this painful process much less so: TextExpander.

TextExpander is a little meta-app that installs as an OS X preference pane. By using Universal Access’ Access for Assistive Devices, it is able to watch what you type. When you type what I’ll call a “token” (which is just a memorable abbreviation that you wouldn’t ordinarily type), TextExpander instantly replaces it (with a satisfying boinking noise). This means that TextExpander can be used for anything from quick signatures to system-wide typo replacement.

But it also means that you can type a boilerplate response to a frequently asked question with just a few keystrokes. For instance, you might type “llogin” and have TextExpander replace it with something like:

Sorry to hear you’re having trouble logging in.

My first recommendation is to take a look at our Troubleshooting guide here:

http://somesite.com/troubleshoot.php

This clears up 99% of most common issues most people have with logging in.

If you still are having trouble after looking through this guide, please don’t hesitate to write back.

Many thanks,
Steve

This tool literally saves hours of typing each month, yet still supports your sites visitors in a seemingly personal way.

MacBreak recently did a demo [link] for TextExpander that provides quite a few power tips and does a great job of showing the benefits of the program.

TextExpander is free to try, and costs $29 if you like it. It even comes with a 90-day money-back guarantee. I know I find it well worth the money.

Enjoy.

Sphere: Related Content

Stopping GIF-Spam Cold [updated]

Saturday, March 24th, 2007

Hormel Makes a Fine Product That Has Nothing to Do With this PostThanks to some very nice tipsters over on the JunkMatcher user forum, I’ve hit on a client-side technique to stop so-called GIF-spam. GIF-spam is the class of junk mail that uses a GIF image to convey whatever message the spammer is pushing. GIF-spam has proven highly effective at busting through filters because it uses throw-away text in the message to bust through any baysean filters your email client or intermediate junk net (like JunkMatcher). The solution is surprisingly simple.

The following walks you through setting up the rule in Apple’s Mail.app, but similar rules can be set up in any email client.

[Update: The April 2007 issue of MacWorld offered a similar tip with a few extras that make this rule even more effective.]

  1. In Mail.app, go Mail > Preferences and open the Rules tab
  2. Click “Add Rule”
  3. Name your rule something like GIF-Spam or something similar
  4. Select “all” from the “conditions are met” pull-down
  5. In first pull-down of the first condition, select “Edit Header List…” (scroll to the bottom of the list). In the dialog that appears, click the “+” button and add “Content-Type” to the list. Click OK.
  6. Now select “Content-Type” from the first condition pull-down menu.
  7. Select “Contains” from the second pull-down, and type “multipart/related” in the field.
  8. Click the “+” button to add another rule. Select “Any Attachment Attachment Name” that “Ends with” and type “gif” in the open field
  9. Add a new condition and select “Sender is not in my Address Book”
  10. Add another new condition and select “Sender is not in my Previous Recipients”
  11. Now, in the Perform the Following Actions section, select “Move Message” to “Junk” folder
  12. You may wish to set the background color of the message to a color like red so you can easily review the processed e-mails to catch any ham that may have been caught by accident
  13. Mark the message as Read
  14. Stop evaluating rules (note, this is not strictly necessary since the “Move” action is applied above, but this is one of those “rubber chicken” things I do just to be thorough.
  15. Move the rule near the top of your rule list

That’s it! In the few days since I’ve been running this new rule, it has proven 100% effective at catching GIF-spam (knock on wood!). The image below is a capture of the rules screen. If you’re not using Mail.app, the rules can be easily tailored to whatever client you are using.

Good luck!

Sphere: Related Content

Tutorial: Setting Up a Client Dropbox Using .Mac

Wednesday, March 21st, 2007

I’ve had a problem for years where clients need to send me large files for various reasons, be they photoshop files or zip archives. Regardless, we usually have to resort to email attachments for this. For obvious reasons, this is undesirable.

Turns out an elegant solution to the problem was right under my nose. By setting up a Public folder in my .Mac account that allows read-write access, I can now send my clients a username and password and they can upload files through their browser. Here’s how:

  1. You obviously need a .Mac account. (TIP: Amazon sells .Mac accounts for $20-off the retail price).
  2. In your System Preferences, click on .Mac. Then click on the iDisk tab.
  3. Click the “Read & Write” radio button, check the “Password Protect your Public Folder” and select a secure password.
  4. Steer a modern browser toward “http://idisk.mac.com/[username]-Public”, where “[username]” is your .Mac account name (note capitalization!).
  5. Use “public” for the username, and the password you set in the System preferences pane (again, note capitalization!).
  6. Once logged in, users will get a nice web interface where they can upload files one at a time.

Couldn’t be easier! Once again, this shows why developing on a Mac has its benefits.

Enjoy.

Sphere: Related Content

Tutorial: Filtering Bad Email Domains Like “DodgeIt.com”

Wednesday, March 21st, 2007

If you need a valid and active email address as part of your registration process, you may have come across services like “DodgeIt.com” that allow users to create temporary addresses for the sole purposes of completing the email validation process.

For example, let’s say you have an e-commerce site and in order to send receipts, you need to ensure that the user has provided a legitimate email account. During registration, you accept the user’s information and send a confirmation e-mail containing a validation link that completes the registration process. Someone who wishes to remain anonymous for whatever reason could use a service like DodgeIt and spoof your validator.

Blocking these domains is a relatively simple matter. Simply add the following function to your validation pass and flag matching domains as an address that you do not accept.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function filterBadEmailDomains($email) {

// Filters against a list of “bad” domains.
// Returns FALSE if the domain is bad; TRUE if it’s good
// Add additional banned domains to the $blockedDomainArr array

$blockedDomainArr = array(’dodgeit’);
$retVal = true;
$emailParts = explode(’@',$email);

foreach($blockedDomainArr as $blockedDomain) {

if(strstr($emailParts[1],$blockedDomain)) {
$retVal = false;
}

}

return $retVal;

}

This example singles out DodgeIt, but as other similar services come on line, you can add their domains to the $blockedDomainArr array and include them in your validation.

Enjoy.

Sphere: Related Content