I don't usually do opinion pieces here, but today is sort of a notable day. Here are my general thoughts on the iPhone.
- it is small and light
- the virtual keyboard thing is a pain in the ass. i'm sure it gets better the more you get used to it, and the auto-correction works well, but it never types the letter you are aiming for. it really slows you down. the keys need to be wider. also, the virtual keyboard gets in the way. for instance, when accessing my gmail, i had to type in a captcha code to sign in, but the keyboard obscured so much screen real estate, i couldn't see the captcha text and the text field at the same time. it also sets the visual focus wherever you are typing, so you can't look at the captcha while typing blindly. i had to memorize the sequence, then scroll down and type it in.
- interface is not as dead simple as you would expect. for instance, in the web browser, i couldn't figure out how to go to a new page! turns out the address bar is pinned to the top of the page, instead of the top of the browser window. SO YOU HAVE TO SCROLL UP on a PAGE to find the address bar. Really poor decision there, and very uncharacteristic of Apple. the apple store employee who i asked about this was puzzled by it and couldn't immediately figure out how it worked.
- it's a little slower than you would hope. for example, when you pan-and-scan a pdf document, the screen redraw takes a second or two. that said, the ability to open up and zoom in and out of a pdf or other attachment is nice.
- the interface across applications is not consistent. forward/back work differently in safari, the notepad, and itunes.
finally: because it is still a closed system, you sit there using it for 15 minutes or so, fooling around with safari, the camera, email, and itunes, and then you realize that you have done everything you can do with it. the words that went through my head were, "Well, I guess that's it." In the end, it's just a cool phone.
i don't think i am going to get one. it seems to me that any Nokia Series 60 (aka "N Series") phone does nearly everything that the iPhone does, with the exception of the touch-screen interface, The Nokias have these advantages that are valuable to me:
- GPS (N95 only)
- unlocked; no contract
- multimedia messaging, which was inexplicably left off the iPhone
- 3G data
- open architecture, so you can install third-party applications
- way better camera (zeiss lens 5MP vs. run-of-the-mill 2MP)
- video recording (inexplicably left off the iphone; N95 does 480p)
sure, the Nokia interface isn't as slick, but it is still very well designed, and probably more efficient for the most common operations (calling people, texting, sending someone a picture).
the one caveat for me here is that the iPhone OS X certainly has 1000x more potential than the Series 60/Symbian OS, so if/when Apple opens it up, it will blow away the Nokias and everything else.
WABC had a fire in the studio tonight, one serious enough to take them off the air:
CBS offers a "blogger's toolkit" for fall previews, which doesn't work.
CBS has picked up "Kid's Nation," a reality show about a bunch of kids trying to start a civil society in an abandoned town. Thoughtfully, they've created a website dedicated to all their new shows.
At the top of the page is a link to a "blogger's toolkit" which purports to offer embeddable video previews of their shows, and the ability to link directly to these previews. Great idea!
Only one problem: It doesn't work.
I found the preview clip for Kid Nation, and grabbed the link (http://www.cbs.com/innertube/?src=ext&vid=139183), so I could add it to my bookmarking site. I pasted the link to my browser, only to learn (after a long loading delay) that it doesn't link to the video at all! It links to a generic front page on InnerTube, CBS's video site. I gave it a few more tries to make sure it wasn't my error, and I regardless of how I approached it, I could not link directly to the video.
After a couple more tries, I gave up, wrote this complaint, and moved on. If anyone can get this to work, let me know. If not, send this one back to the labs, CBS.
At least the embeddable stuff works:
Oh, nevermind, I guess that doesn't work either (at least in Firefox). Annoying!
US style:
Mike Strizki, a civil engineer living in New Jersey has converted his home into a completely energy self-sufficient abode that runs exclusively on a combination of solar and hydrogen power. Using solar panels, a hydrogen fuel cell, storage tanks, an electrolyzer to split water into Hydrogen and Oxygen, plus a custom made fuel-cell car, Mike benefits from a utility bill of zero dollars, and the comforting feeling that his activities don't produce any pollution. Currently the solution isn't in any way practical for mass adoption -- the initial cost was $500,000, with half paid by New Jersey state grants -- but Mike thinks that he could reduce this cost tenfold with more research and mass market production lines. There is also some concern amongst experts like Joseph Romm, a former Department of Energy official who thinks that the current relatively inefficient technology and the high cost means that this isn't a viable system for mass adoption just yet. Despite this criticism, Mike says "we have to start somewhere," even if early adopters (in this case rich Hollywood types with a conscience) are required to pay out up to $250,000 dollars to get in on the clean energy action. [source]
Rio style:
RIO DE JANEIRO (Reuters) - A floating house built out of trash in a reeking channel of a Rio de Janiero slum will be preserved as a model for recycling in a government anti-pollution campaign.
Luiz Bispo says his house [is] kept afloat by hundreds of empty plastic bottles...
Bispo, who earns a living by doing occasional repair and construction work, said he spent about $170 to build the house, mainly on cement and roof material. The rest came from construction waste and furniture he found at dump sites. [source]
Yahoo's redesigned TV site has not quite nailed the Tivo integration yet.
Looks like there's a null timestamp behind-the-scenes somewhere, hence the pre-epoch date.
AOL, for some reason, released 2,000,000 search records taken from the last 3 months. With a tiny bit of programming, you can use PHP to search through these records. This post describes how.
But first, let's cut to the chase:
- Working example (expect "Internal Server Error" when under load)
- Source code
First, you need to download the files, which you'll have to find on your own, as I can't remember where I found them. The file is ~450MB.
wget http://whereverthosefilesare.com/AOL-data.tgz
Next, uncompress this file into its multiple parts:
tar zxvf AOL-data.tgz
Then, un-gzip the compressed files:
gzip -f user*.gz
This will leave you with a bunch of text files containing the actual log data. These files will be very large. So large in fact that your web server might not be able to deal with them in PHP. So, you should split them into multiple smaller files. For each .txt file, run a command such as:
csplit -f aol user*01.txt 1000 {1000} &
That code will split the files into multiple files of 1000 lines each, naming each them aol100, aol101 and so on. In these smaller chunks, PHP will be able to deal with them more easily. When I ran this command, I ended up with 2000 files of 1000 lines each. For the code below to work, each of these files must have the letters "aol" in their names.
Next, you can create a PHP page that will search the AOL log files for a certain string, and then return matching lines. The string you are looking for will be passed on the URL, as in http://example.com/search.php?search=sex
Here is the code for the PHP page.
Save the file as search.php or whatever, and then access it at its url, e.g., http://yourwebsite.com/search.php?search=thewordyouarelookingfor
Change the URL to run another search. You can take the user id from one search and put it on the URL, thereby finding all the searches by that user.
Google is complaining to the Department of Justice and the EU that Microsoft's forthcoming Internet Explorer 7 improperly encourages users to use MSN Search instead of a search engine of the user's choice. Google claims "research it has sponsored shows that it's difficult to change the settings in the new browser to a rival search engine."
I decided to do a little research of my own to see how "difficult" it is. Please watch this video:
[Sorry about using WMV. I hate it too.]
As you can see, it is a very simple 10-second process that most people could figure out without much effort.
I dislike IE and never use it, and I think Google is a great search engine, but it seems to me they are reaching a bit on this one. If it were me, I guess what I would ask is that Microsoft document how to create whatever kind of file it is that lets the toolbar's search feature use a given provider. They may have already done this -- I'm not sure. Update: Not only have they already done that, but the little plug-in or whatever you call it uses A9's OpenSearch format.
Ok, here's one for the masses.
This post describes how to add info about the song currently playing in iTunes to emails you compose in Outlook. Anyone can do it!
First, create the macro. To do so:
- Open Outlook.
- From the Tools menu, select Macro, then Macros...
- In the Macro field, enter a name for your macro. "AddiTunesSig" is probably appropriate. [screenshot]
- Click "Create".
- A "code window" will open. This is where, in a minute, you will type the code that makes up the macro.
- But first, you need to tell Outlook how to talk to iTunes. To do so, go to the Tools menu and select References. Scroll down until you find "iTunes Type Library" or something similar. Select its checkbox and click OK. [screenshot]
- Back in the code window, you will see two lines of code:
Sub AddiTunesSig()andEnd Sub. In between these lines, paste in the following code:' purpose: opens a new mail message, ' appends info re: currently playing track in iTunes Dim itunes As iTunesApp Dim strArtist As String Dim strTitle As String Dim strOutput As String Dim mail As Outlook.MailItem Set itunes = New iTunesApp 'load the track info into easy-to-read variables strArtist = itunes.CurrentTrack.Artist strTitle = itunes.CurrentTrack.Name strAlbum = itunes.CurrentTrack.Album 'assemble the signature strOutput = vbNewLine & "------------------------------" strOutput = strOutput & vbNewLine & "Now playing: " & vbCrLf _ & strTitle & vbCrLf & strArtist & vbCrLf & strAlbum 'create a new email message Set mail = Outlook.CreateItem(olMailItem) 'put the signature in the body mail.Body = vbNewLine & vbNewLine & strOutput 'show the message to the user mail.Display 'clear up the memory Set itunes = NothingSee how easy programming is! [screenshot]
- To finish up: Click the Save button on the toolbar and close the code window.
Now, you need to add a toolbar button to your Outlook toolbar that will run this macro. To do so:
- Go to the Tools menu, and select Customize...
- In the dialog box that pops up, scroll down the left side, and click Macros. [screenshot]
- You will see your macro on the right ("Project1.AddiTunesSig"). Drag it up to a convenient location on your toolbar. (Next to the "New" button is probably a good place.)
- To rename the button, right-click the button and type the new name where it says "Name:" in the pop-up menu. "New (with music)" is probably a good name. [screenshot]
- Close the Customize window.
That's it! To use it, open iTunes, play a song, go back to Outlook, and click your new button. A new email will open with info about the currently playing song in the signature area.
Earlier: How to control iTunes from any Microsoft Office application.
Let's say Sprint happened to to send you a free phone with a free service plan as part of their Ambassador program. Wouldn't you want to share the benefit of that service with as many people as possible? Especially if the plan included free data service? After all, Mr. Ambassador, you certainly want everyone to enjoy Sprint's quality service as much as you do, right?
Or let's say you're so rich you can afford to pay Sprint's (probably high) fees for unlimited data service. Since there's no additional cost to you, shouldn't you share some of that bandwidth with some of us poor saps who can't afford such luxuries?
This post describes how to use your Bluetooth- and Airport-enabled Mac with your Bluetooth-enabled Sprint PCS phone to set up a mobile wifi access point. Meaning, you can put your iBook in your car or backpack, put your phone in your pocket, and give free wifi internet access to anyone who happens to be in the area. (Of course, you will also be able to access the internet yourself all the while.)
These instructions assume you are using Mac OS X 10.4 (Tiger), and a Samsung A920, the official phone of Sprint Ambassadors everywhere. But they should apply to any Sprint phone with Bluetooth that is capable of being a data modem and/or using their Power Vision service. Non-ambassadors will have to navigate the labyrinth of Sprint customer service and get "phone-as-modem" service added to their plan. Once you've gotten that taken care of, please continue...
Summary for experienced people
Details are below, but if you know what you're doing and just want to do it quickly:
- Turn on Bluetooth on your phone.
- Pair your phone with your Mac.
- In the PPP configuration for Bluetooth in Network preferences, leave the username and password blank and use this phone number:
#777 - In Sharing preferences, go to the Internet pane and turn on Internet Connection Sharing for Bluetooth, allowing AirPort devices to connect.
- Back in PPP, click "Dial Now...". You should be all set. By default, your SSID will be your computer's name.
- If you need a detailed step-by-step, continue reading...
First, set up the phone
- Press "Menu/OK".
- Select "Settings".
- Scroll down and select "Bluetooth" and press OK.
- If Bluetooth is disabled, click OK on to enable it.
- Set "Visibility" to "Always visible". (This is optional and not very secure, but it might make things easier later.)
- Select "Device Name" and enter a nice name for your phone. This is the name other Bluetooth devices (like your Mac) will display when connecting to your phone. (I have found in other contexts that choosing a one-word name can reduce errors.)
Connect your Mac to your phone via Bluetooth
- Open System Preferences.
- In the Hardware section, click Bluetooth.
- In the Settings pane, make sure it says Bluetooth is on. Other than that, it doesn't matter much what is selected. [screenshot]
- In the Devices pane [screenshot], click "Setup New Device".
- The Bluetooth Setup Assistant wizard will start. Click "Continue" and select "Mobile phone" from the list of device types.
- The wizard will scan the airwaves looking for Bluetooth devices. When you see the name of your phone, select it and click "Continue".
- After a few seconds of "gathering information," the wizard will prompt you to click "Continue" to continue. Do so.
- Your computer will display a "passkey", a number you have to type into your phone to "pair" the phone with your Mac. [screenshot]
- Your phone will prompt you to accept the pair. Press "Accept".
- Enter the passkey into your phone and press OK. If you wait too long, the connection will time out, and you'll probably have to go back in the wizard and get a new passkey.
- Once the pairing has taken place, click "Continue" to continue.
- Make sure "Access the internet with your phone's data connection" is checked.
- Click "Continue".
- Here's the important part: You will be prompted to enter connection settings. Leave "Username" and "Password" blank. In "Phone Number", enter
#777. For "Modem Script", select "Sprint PCS Vision". [screenshot] - Optionally, select the checkboxes to show Bluetooth and Modem status in the menu bar.
- Click "Continue".
- Click "Quit".
Connect to the Internet
At this point, you might want to turn off Airport and/or unplug your network cable, so that when you connect to the internet via the phone, you'll be sure you are connected via the phone. (After it's all set up, you can turn Airport back on.) In the meantime, here's how to get connected:
- Open System Preferences. (Or click "Show All" if your Bluetooth panel is still active.)
- In the Network & Internet section, choose "Network".
- In the dropdown labeled "Show", select "Bluetooth".
- In the "PPP" pane, make sure "Account Name" and "Password" are blank, and that "Telephone Number" is
#777. - In the "Bluetooth Modem" pane, make sure the Modem dropdown says "Sprint PCS Vision", and (optionally) check all checkboxes. Now you're ready to connect to the internet.
- Go back to the "PPP" pane, and click "Dial Now..." An "Internet Connect" dialog box will appear. Make sure the Bluetooth pane is showing. [screenshot]
- Click "Connect". The modem status in the menu bar will read "Connecting..." and your phone will say "Connected as data modem to [your computer name]". You are connected! A timer on the phone will show the duration of your connection.
- Open a web browser on your computer to confirm that you are connected.
Share your internet connection via AirPort
Now you are ready to share your connection to the internet with other users. To do so:
- Turn AirPort back on if you turned it off earlier.
- Return to System Preferences. (Click "Show All" if you are still on your Network settings.)
- In "Internet & Network", click "Sharing".
- Go to "Internet" pane. [screenshot]
- In the dropdown labeled "Share your connection from", select "Bluetooth".
- In the "To computers using" area, select "AirPort".
- Click "AirPort options" to make sure encryption is not turned on and/or to change the name of the access point (SSID) that your Mac will broadcast .
- Click "Start" to start sharing your internet connection via wifi.
- You may get a message saying this conflicts with your firewall setting, as Personal Web Sharing must be turned on (for some reason) to share your internet connection. If there's a dialog, click "Show Services" or directly open the "Services" pane in Sharing (which partially controls your firewall), and activate "Personal Web Sharing" service. Note that this will make the "Sites" folder in your home directory available via your network connection. (If someone can explain to me why Personal Web Sharing has to be turned on in order to share your internet connection, I'd love to hear it. If it's just to open the port, couldn't they do that without firing up your web server?)
- That's it! You're connected and you're sharing your connection. You might want to test it with another wifi device to make sure it can connect. (By default, your Mac will broadcast its name as the the name of the access point (SSID)).
Potentially sad note: Some devices may not be able to obtain an IP address from your Mac, in which case they won't be able to use your connection to the internet. However, if you can talk to whoever is attempting to share your connection (e.g., you're over at your friends' house and want to get them online), you can configure their network connection manually. To do so, follow these instructions. I'd recommend keeping the IP addresses of some public DNS servers handy, so you can just type those in instead of trying to determine them from the dig utility or similar. I really don't know anything about Internet Connection Sharing on the Mac, so I have no idea which devices can automatically obtain an IP from it and which can't.
Added bonus: Note that if you look at the Personal Web Sharing preferences, you'll see your external IP has been resolved to an actual domain name like http://h460c83c6.area2.spcsdns.net. Anyone accessing that address in their browser will see whatever website your Mac is serving from its web server folders.
Keep in mind:
- Sprint PCS may or may not like the idea of you sharing your bandwidth. (Especially if you're not an Ambassador and don't have diplomatic immunity.)
- If you are at work or school, your network administrator may or may not like (1) your computer's new-found role as a DHCP server, and (2) your computer giving indirect access to his/her LAN.
Even so, at least you can go to bed knowing you are the Robin Hood of wireless bandwidth!
Someone else has probably posted these before, but it's new to me, so I'm posting them. In this Flickr set, you can see various image files I took from Tivo's /tvbin directory. Each image is an error message or some kind of prompt. I got these by putting my Tivo's hard drive in a USB enclosure and mounting it on my Mac, using the handy ExtFS Manager, which lets you mount ext2 and ext3 formatted drives on your Mac.



