Despite the fact that there wasn’t an IT track this year, I went to WWDC 2011 to learn as much as I could about 10.7. I’m really glad I did, as I picked up an enormous of amount of information (and met great people!) that I just would not have otherwise.
My takeaways from this year:
1. iOS and Mac OS X are converging. I don’t know where this train will end up, but Apple is betting on our computing becoming ever more mobile.
2. To go along with us becoming more mobile, Apple wants devs (especially its own) to focus on getting out of the user’s face. This is especially applying to the security model. Apple is simultaneously tightening “least privilege”, while also building the security to focus more on intelligent processing and less on asking the user about things the user may or may not understand in the first place.
An analogy used in the security session was that, right before a car crash, a little window does not open in the dashboard to ask if the driver wants to deploy the airbag. Instead, the airbag goes off because the pre-determined conditions for it tell the system that it must do so and save the driver.
3. Apple’s message about networking was “Assume that all the networks your app is connecting with are crappy, expensive (fee-based) and will disappear without warning. Build your app accordingly to handle those conditions gracefully and all your surprises will be pleasant ones.”
4. In a related message, Apple was also pushing “Power isn’t free. Enable only the computing equipment and/or radios you need to do the job.” That may not matter as much to a desktop- and/or server-focused developer, but it’s definitely relevant to a mobile device.
To meld those together: “Be out of the user’s face. Don’t display errors or ask the users to do things they don’t understand unless absolutely necessary. Build your apps to work invisibly and fail gracefully.”
As a person who gets called when “Hey, this popped up and I don’t know what means?” happens, I can only applaud the philosophy behind this.
I also posted some notes over in the Lion Dev Forums (ADC membership required for access.)
FileVault 2 – notes from Thursday’s Security lab: https://devforums.apple.com/thread/103697
Next Gen Crypto session and FIPS validation: https://devforums.apple.com/thread/104020
Updated FileVault 2 notes: https://devforums.apple.com/message/452262#452262
In my just-previous entry, I mentioned that I was linking to scripts in my GitHub repository. For those and other scripts, my GitHub repository is publicly available at the following address:
I had a problem come up in my workplace for a MATLAB user, where MATLAB wasn’t launching. On investigation, it appeared X11 wasn’t launching. To fix this, I had to reinstall X11 on the user’s 10.5.8 Mac.
Here’s what I did to reinstall X11:
1. Before you change anything, make sure you have a Mac OS X 10.5.6 installation DVD available.
2. Log into the Mac using an account with administrative rights and open Terminal.
3. Back up your existing X11 directory and remove /usr/X11R6 (/usr/X11R6 is a symbolic link that points to /usr/X11.)
sudo mv /usr/X11 /usr/X11.back
sudo rm /usr/X11R6
4. Have your 10.5.x Mac forget its X11-related receipts:
sudo pkgutil –forget com.apple.pkg.X11DocumentationLeo
sudo pkgutil –forget com.apple.pkg.X11User
sudo pkgutil –forget com.apple.pkg.X11SDKLeo
sudo pkgutil –forget org.x.X11.pkg
5. Once that’s done, reinstall the following two packages:
Install X11User.pkg from the Optional Installs metapackage, which is on the 10.5.6 DVD in the Optional Installs folder
Install X11SDK.pkg, which is on the 10.5.6 DVD in the Optional Installs/Xcode Tools/Packages folder
Once that’s done, double-clicking /Applications/Utilities/X11.app should launch X11 and give you an xterm window.
I recently ran into a situation where I needed to make individual zip files from folders inside a directory. I was able to find a lot of guidance for one big zip file, but I needed each folder to have its own zip file for archiving purposes. I also wanted good compression, resource fork preservation, and be able to run a command that would search the directory and make zips for each folder it found. (The last requirement was because I didn’t want to run the command individually on the 137 folders that I needed to make archives of.)
Fortunately, I was finally able to find a way to use ditto to do what I wanted. This command will search a particular directory, check for folders and use ditto to make compressed zip archive files:
for f in /path/to/directory/*; do ditto -c -k -X “$f” “$f.zip”; done
This command uses the folder’s name when saving the zip archive, so a “folderA” inside the directory will be compressed as “folderA.zip”
In an odd follow-up to my previous post, Yahoo has now offered me the ability to sync my contacts between various other services.
My Yahoo email account (which had what I considered a fairly strong password, with having both letters and numbers and being longer than eight characters) got hacked today by a spammer, who then scanned my contacts and started furiously sending links to NSFW merchandise and dodgy pharmaceutical sites. The account now has a new password and the contacts list has been completely cleared out. Fortunately, I avoided spamming our ALL-WORK email lists by the grace of God and LISTSERV-required confirmation before sending (said confirmation was not granted.) The embarassment factor was high, our security officer was calling, and I’ve now gotten the chance to re-connect with some old aquaintences whom I haven’t talked with in a while.
I saw this linked from Engadget today and I think it’s a great idea. More and more small electronics charge via USB, and freeing up a power plug (which would otherwise have a electric AC – USB power brick plugged into it) sounds like a winner to me.