Session Notes - Why Mac Users Hate Java
Chris Adamson of Subsequently & Futhermore is talking today about Why Mac Users Hates Java.
Cringely: Java GUI is dead.
Garfinkel: I hate Java.
Dave Winer: Features and Performance matter more than cross platform-ness.
Ouch.
Why are people doing Java on the Mac?
1. Developers
2. End-Users
Developers:
Allows Mac developers to use Macs to develop desktop or server applications for Windows, Linux, etc.
Exposes non-Mac developers to Mac Concepts.
James Duncan Davidson invented Tomcat and Ant. He's a Mac guy. Daniel Steinberg. Mac guy. Ken Arnold of Jini. Mac guy. James Gosling, inventor or Java. Mac Guy.
They need Java to agree with spec and reference. Good Development tools. tools for debugging and profiling. It'd be nice to have access to the javax.* extensions. Most of all, Timeliness. We need to have the right versions.
The lags between versions:
1.0 - 4month lag due to a single developer
1.1 - 10 months, Apple started over.
1.2 - never made it
1.3 - 11 months might as well ship 1.3 with OS X
1.4 - 23 months Rewrote the Carbon-base UI layer in Cocoa
Challenges to Developers:
No interest from Sun. Like, at all. They don't want bugs reported. APIs and SDKs with native pieces never get a Mac Version. Mixed tools available. Most are there, some are not.
Overall, things are good.
The End User Audience
Users was useful apps that work right. Apps they wouldn't have gotten otherwise. Shouldn't have to know that an app was written in Java. How many Mac users know the difference between Carbon and Cocoa. To do Mac Java right, stick around fro Mac OS X Java Hacks
Where are the Java Apps?
Corel Barista: It's been purged from memory
Netscape: Javagator/Jazilla was mostly abandoned.
AppGen MyBooks - biz accounting. But it sucks.
Moneydance - like MS Money or Quicken. But it sucks.
ThinkFree's ThinkFree Office - it's pretty decent.
LimeWire - it's a Gnutella client. it's not shit.
Java is Slower than a native app. It's going to be slower because of overhead, always. But it's better than it used to be. But there's no word on if things get better because of AltiVec or not. Java is often used for enterprise and network apps. Is network latency look like a performance problem?
Java is Ugly (?)
AWT and Swing GUI toolkits include concepts alient to Mac users:
App quits on last window closing
meny bars in windows
Multiple-document interface (JInternalPane)
AWT and Swing exclude Mac-specific widgets
-Drawers, spin open panels, sheets aren't available
Apps written by non-Mac developers usually write like idiots.
- unhelpful alert dialogs
- bad packaging and install
But people love OS X look and feel and it's widely praised.
Java is Irrelevant?
Fewer apps are java apps. So many have become web applications instead! MapQuest, Turbo Tax, FedEx, etc.
Write Once, Run Where?
Computers is great, no problem. Phones? Not always. PS2? No. Tivo? No.
Cross Platform Binaries:
What good is that for the user? The Mac platform is not starved for apps. Many devs write single version code. Oops.
Slow doesn't matter, irrelevant does.
If an app is really useful, no one cares about the GUI. People may turn that into the killer app. But there are no killer java apps.
How do you get that? The Write Once, Run Anywhere factor. Something that can't be done by a web app. It has to run anywhere.
DVD extras would be great. Why is the Mac excluded from DVD Extras? Java has media APIs. Java has great networking APIs! Games work in Java! If you put your extras in Java, they talk to everyone!
We need to define the Java Theatre. It uses J2SE and collects a whole bunch of libraries to help. DVD-ROM has the installer and extensions and then expands to your machine.
Who wins? Users get to watch content on their favorite device. Mac and Linux users win. Content developers get a bigger audience. JavaSoft wins because that expands the Java population.
But the JavaMedia APIs suck. Ass. Lots.
Would the content people come in?
Are DVD extras overrated?
October 29, 2003 at 07:48 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
TenCon Sessions: Bare Metal Backup and Recovery
Dan Shoop will be covering Bare Metal Backup and Recovery. This is recovery of a totally dead machine. Lost system drive, failed or replaced hardware, or worse. Part of a good, all inclusive backup strategy. OS X does make it easy recovery, all you need is something bootable.
What does it take to be bootable?
He had a wallstreet 250Mhz 13" screen. An OldWorld machine. This required an nvramrc shim to actually boot. Any crash or reset caused reset and loss of boot information. This caused a LOT of problems, obviously. Couldn't boot off pretty much anything.
Sometimes you need to recreate and document the system as it once was for recovery years later.
OS X has no built in backup tools (that work) And there were no standalones at the time.
So what now?
Rebuild and Reinstall? this got tiresome.
Reinstall all the software after you get it back?
Reinstall the user?
Backup sounds pretty easy.
But, you need to have a command line tool if your system is hosed.
This requires single user mode wizardy. Custom Boot Images for recovery work, BUT that's hard to create. You need a secondary boot device.
Netboot maybe? Old machines don't support Netboot.
Difference between bare metal and standard archival strategies:
Normally you archive out your data. You restore when there are problems with that. We're talking about resurrecting a totally dead machine.
Standalone Backup:
best backups are done in a quiescent state. No open or locked files, nothing competing with it.
Recovering a system image that's intact is huge.
These new backups limit exposure on things forgotten. Allows you to focus on the system problem.
Who backs what up?
Data janitors.
- users are ultimately more responsbile for theior own data. generally consider it more important than you as a sysadmin do and knwo what's needed. it's a good practice to backup your own data.
- DBAs know how to best recover their own stuff and use special tools for DB backup and recovery.
- operators and sysadmins responsible for the bare metal, and leave ephemeral files to standard backup.
With new world machines, you can clone out the volume you're booting from that they can reference from an apple included interface. New tools have made this all MUCH earlier.
Issues we face now:
The capacity of our drives that doesn't match the backup (tape) options. CDs are 700MB. So, perhaps you can get it done. DVDs handle 4GB, that should be enough to boot the filesystem. The other problem with Optical Media is that it doesn't always last.
Tapes only hold tens of GBs. Tapes are also Slow. so is DVD and CD. Backing to disk is great but it's not always cheap and requires a ton of disks, and they're fragile.
SAN based volume storage at Colocation facilities. They're locally attachable and they're on-line or near-line storage, so it's always close by and usually online. It's their problem, not yours.
Backup Tools
Traditional Unix tools:
cpio and dd and tar and pax
but mainly rsync and dump/restore.
None of them work with the fork model that HFS is.
But there's hfstar which works pretty decent.
So is psync and that syncs local directories to eachother.
There's another one called RsyncX - this is the best remote tool available.
CpMac, ditto, hdiutil and Disk Copy, as well as Backup 1.2 & 2.0 Beta all work on OS X as gui tools.
Commercial Tools:
Retrospect Client and Server - his recommendation (not always mine)
BRU - my recommendation
Veritas - no server based model.
Carbon Copy Cloner -
Uses ditto and psync to cloen stuff
Toast 6 -
can use an image volume and dmg them
DropDMG-
same use.
Bootstrapping in a nutshell:
- POST is first, then OpenFirmWare & nvramrc.
then Boot Loader XCOFFs which trigger HFS+ startup.
BootX loads Mach, which being first process gets PID 2.
init
now we're in single user mode, otherwise jump into rc scripts. CDs, Drives, virtual memory, and then rc.common and stuff. Then the System Starter, then back to init and back to the login.
This has already gone further than I need it to.
October 29, 2003 at 06:22 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
Some Thoughts on TenCon
The OS X Conference so far has been an absolutely incredible experience, the people that I've met, the conference sessions, almost everything has been absolutely perfect. The breaks are frequent and long allowing for people to be able to stretch their legs and talk with each other and the networking opportunities to abound. The people that O'Reilly has brought to the convention have been outstanding.
But after all this, I do have a few gripes.
The sessions simply aren't long enough. As I type this, I'm sitting in a session on Migrating to OS X for Universities and there just isn't enough time. These three presenters, who could easily each have more time, are rushing and losing people. I type fairly quickly, but I just couldn't keep up with my notes. We need more time for these speakers! If that means we keep going until 7, then so be it, but give us more time to listen to these great speakers!
The breaks are great, but where's the caffeine? We're programmers and computer people, we do not subsist on coffee alone! I could really use some cold Diet Coke between sessions! But the ice-cream bars are a nice touch.
This has been a great conference, my brain is teeming with good stuff, but darnit, there's room for more! Give us more material, we'll all benefit.
October 29, 2003 at 02:20 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
TenCon Keynote: Andy Ihnatko
All the details that I could successfully capture from Andy Ihnatko's hilarious keynote are within here, but if you missed it, my notes are but a mere shadow of Andy's hilarity. Next year, be here!
The Big Rethink.
There was a time when I had to deal with the problem of being a fulltime pundit. In my daily life, I have too many santa clauses. Playboy, Chicago Sun Times, Local News, etc. I'm on all kinds of lists. Every single morning it's like Christmas. People have left packages for me! But that leaves me with clutter. Now it's time for The Big Edit.
There's the three categories: Amazingly Interesting, Interesting, Garbage. I can't sell it, I can't eBay it, I can't do any of that!
Andy has a LOT of stuff.
Now, we get to the Big Rethink. The Big Edit wasn't working. Now, I rethink every single object. Is it making me the best me that I can be? Nope. Goodwill.
It was aggressive and ambitious. Just like Vietnam. It was housecleaning on a war-like scale. it was the sliding tile puzzle. Move stuff into empty spaces and such.
But there are perils of housecleaning in the internet age. The challenge comes in the form of eBay. Everyone wants something you've got. Even if you don't know it just yet. Fortran cards. Silicon Wafers. AppleLink kits. Apple Pins.
"An Act of Heroic Stupidity"
There are stupid things like leaving your powerbook on the floor. Gesturing with an open bottle toward your machine. This is the Gold Standard: The Apple two button mouse. This guy wrote all this software for a mouse he created out of an Apple ADB mouse. Amazing.
The Island of Unloved Hardware.
Andy will take just about anything. Including Lisa Twiki drives. Old Macs, by the truckload. He has 61 of them. He has a TON of PDAs. palms, newtons, cellphones. A Pocket Zip MP3 player.
The Next Cube: The gold standard in adaptability and expandability. Great for holding stuff up.
The MIT Flea Market: Enigma machines, Resusci-Annie. Amigas for $3. Winchester drives.
MacQuariage: Macquariums. They're a great use. $1000 at auction.
Geek Eye for the User Guy. Free Tee Shirts are a staple. Here are some don'ts: White T-shirt is a mistake. Naked people? Mistake. Too cool? Mistake.
Simple design, breathable. Fruit of the Loom. Make it long, please god, make it long.
But please, please, Send Pants.
Simple words are not sufficient to describe Andy's keynote, it's one that you had to attend to appreciate or understand. Next year, you'll have to be here!
October 29, 2003 at 01:28 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
Mac Innovators Winners
Andy Ihnatko is about to take the stage here this morning, but Derrick is first announcing the winners of the Third Round of the Mac Innovators Crowd.
The US Category:
1st place: OmniOutliner, The Omni Group
2nd place: iBlog, Lifli Software
International Category:
1st place: iStopMotion, Oliver Breidenbach
2nd place: ACS Logo, Aln Smith
Honorable Mention: Fscript, Felipé Moyer
October 29, 2003 at 12:35 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
TenCon Keynote: Adam Engst
This morning's opening Keynote is Adam Engst from TidBITS.
Derrick: The Mac community is a huge mélange now, Switched users, Unix users, Next users. The traditional users, the Mac users, can provide incredible perspective for the rest of the users, and give us good infortmation
The Panther Report Card.
This is a continuation of last year's OS X Report Card. How far have we come, how far do we have to go?
But Panther's been out only 5 days! So we're going a little less formal.
Controls its emotions (reliability and stability)
Mac OS 9 did have memory protection (yep, the case!) Mac OS X improvied this significiant but had problems with flaky hardware and unexpected network situations. A bad USB device can be a real problem in OS X. Carbon apps can still go bad, but this is under 10.0, 10.1 and 10.2. We're still too early to tell.
There is a new Submit Bug Report dialog! You can tell Apple when things crash, which is great. It's still susceptible to bad RAM and it's still a bit odd with external hard drives (viz, Dan Frakes.)
Room for improvement: Integrate Hardware Diagnostics. Telling us our RAM is bad. SMART drives appear in Xserves, and most Macs, but with client we can't tell about it. This needs to change. HDs always go south eventually, with this, you can tell ahead of time. This needs to happen with USB and FireWire and RAM.
Communicates Clearly and Effectively!
Communication is at the heart of the Mac. We have communication enabling apps and communication between apps. *insert picture of MacTCP* We provided internet access earlier and better than anyone else. In OS X, Apple extends communication beyond the computer to devices, iPods, iSight. Then there's iSync. It takes you beyond your own hardware to some other computer.
The concept of identity needs more emphasis. iTunes allows you to share computers on your network. All you can is play songs, though. Adam has four Macs running iTunes, and he wants to use iTunes on all of them. He can't right now, he can't say "I'm the same guy! Trust me!" This should be a unified concept. Everyone should have a .Mac ID that allows you to identify yourself to any Mac, Period. It's not service, just account to identify yourself.
Architectures, not Applications. iPhoto is just an application. iPhoto should be an image database that apple provides at the system level for anyone to tie into. iPhoto becomes the built in front end, but has a layer at the bottom. This enables more inter-application communication (viz, rendezvous photo sharing.)
SubEthaEdit. This is a real time collaborative editor. This is incredible for multi-person brainstorming. The notes that you can all work on, gives you all context. But, what Apple needs to do is find the guys and hire them. You need the protocols for any and every application. Photoshop. Spreadsheets.
Completes Tasks Quickly (performance and ease of use)
Mac ease of use is traditionally strong. But raw performance is less so, despite the filter competitions. Perceptual performance is easily more important than raw performance. OS 9 was way better at than than 10.0. It's better now, but it's not great still.
Panther does offer ease of use improvements with Exposé and the new Sidebar. There are some perfomances gains. Panther seems zippier. Adam's guess? Virtual Memory handled better.
But there's work left to be done. Faster interface reactivity, it should rely on hardware performance. The SPOD (Spinning Pizza of Death!) should be interruptable where appropriate. Long actions or slow actions should be stoppable. Command-Period used to stop stuff. The SPOD is unstoppable. Automatic elimination of repetitive actions. Autofill in Safari. Things need to be universally autocomplete.
Shares With Others
Longtime a strength of Macs. OS X makes that much better. iTunes, filesharing, etc. Panther adds network browsing. This is a huge win. It gives the Network icon something to do. The old network browser was pretty awful. This is a big fix in Panther. Just click the network icon and poof it's all there.
But sharing is too device driven, even with Rendezvous. We need a cloud of shared files instead, like DataClub. We need a peer to peer file sharing system to populate that cloud. Could be usable for backup and data recovery. Permissions and encryption is completely essential. The pieces are all here.
Respects other cultures. (internationalization)
Bit mapped display made the Mac popular countries that don't use Roman alphabets. It's done this from very early on. Panther puts localizations and Unicode at the forefront. But It doesn't always work in every app (Word! Appleworks!) and we need more Unicode fonts to cover all 96,000 characters. Good Lord. That's a lot of font.
Last year, Jaguar got a B. Based on 10 categories, etc. Panther so far? B+/A-.
October 29, 2003 at 12:07 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
TenCon Session Notes: The Future Of Web Services
The Shortcomings of the Browser:
The page has arbitrary structure, layout and design. Users have to learn navigation for every site. There's minimal user interface elements and feedback. Minimal integrations with system applications. Minimal state (just cookies)
Why Use Web Services?
Aggregation. It grabs data from everywhere and puts it in one place.
Local Feel. It makes all your data feel local.
Better user experience outside of the browser. Watson gives a better browsing experience than Safari does. It also provides better widgets and increased speed.
Why Use Webservices?
Incorporate related data for your convnience. Innovative uses of data. AllConsuming.net, for example. Google Alert!
The Present set of webservices:
Private data feeds using an ad-hoc protocol or perhaps even a direct database access.
HTML Scraping, public data is scraped from human accessible data and slapped into a computer access protocol.
Problems with Private Feeds:
- Reinventing the Wheel all the time.
- No Standards. Very hard to add new clients and servers as well as being difficult to aggregate.
- Insecure to allow direct database access.
Problems with Scraping:
- Reinventing the wheel (again)
- No Standards.
- Fragile.
- Businesses don't want their data repackaged.
Here are some of the available tools:
- SOAP from Cocoa or AppleScript
- CURLHandle
- Rendezvous APIs for local services
- Lower-level APIs likje CFNetwork, XML Parser
- Server-side: Java, WebObjects, Apache Axis, etc.
A few companies are now providing WebServices:
Some in full production, some are experimental (piggybacking off scraping), then there's the noncommercial/commercial uses.
Most uses of Web Services are Other Servers. Simplest-Shop.com for example.
Some Web Services clients are Desktop Apps: Spring, Watson, NNW.
Many services are still limited. Google's search and spellcheck only. Amazon's search only.
Actions are limited, as are the services.
Input: search parameters, Output: Results list. Complex protocols like SOAP are too much overhead here. Structure isn't always conducive to interactivity.
There are Open, Closed and Registered services.
Open programs are often based on experimental and unofficial feeds. This encourages innovation, but it's not terribly viable commercially. RSS is a success story here.
Private programs are frequently done through agreements and relationships. Many are in existence, and they're easier to setup. Watson/Versiontracker and Watson/PriceGrabber are good examples. But they stifle innovation, they're often ad-hoc, and they're expensive for the client to use. There's a lot of work involved in having clients access data and transform it.
Registration Program is established with the client. Commercial, free/commissioned, Amazon. Commerical, pay, eBay. Non-Commercial, free, Google.
The client signs a service contract, you get a token from the service provider. But there are limits here as well, the token has to be private, and that's not always easy.
There just aren't enough providers. There are many ad-hoc feeds which are expensive in time, there aren't enough good business models yet.
Watson's goal is to avoid the web browser for the most part.
How do we get more service providers? We need business models that work. We need to expose more functionality.
Business Models: Free is easy if it brings the provider business. Advertising is more than just web banners. Pay (flat or pay per use) for premium services. Different places could expose different capabilities through web service models. Clients could agree to display an ad with each transation, and a token should be used to only identify the client, not for a secure transaction. If restricted access is necessary, end user should establish an account through the architecture.
You should be able to use this client as an alternate browser, do client side data storage and account mgmt. Handle purchasing as well.
These companies need to design their webservices for the desktop and not just the webserver. there's a richer feature set in the Desktop than in a web browser. You can do Structured, Quick Transactions and you can distribute the clients all over the world.
You should conform to SOAP rather than adhoc XML and use Secure SOAP. Standards make it easier for clients. It's very easy to use the API model here.
We need to build more standards. Make common APIs for searching, browsing and carts.
In the present, we eventually have to go to the browser to buy. Every vendor is different. Automation is hard.
In the future, we use a new app to do Amazon.com, another for J&R, another for Apple Store. But is having a variety of desktop programs better (No.!) Inconsistent user interafaces, can we trust apps with our credit card?
Then we build one that runs ONE app. It becomes a shopping mall. Compares shops and works with Keychain and Address Book.
In the present, we use google to search, but it's still a shotgun. May sites off their own searches, but all the syntax is different, same with the results.
This can all be done with the same thing in the future.
Now, some sites use full RSS feeds, other provide limited feeds or none at all. Ads and Subscriptions = Money.
In the future, it will incorporate user accounts into news feeds, free users get ads, paid users don't, etc.
Do we ever abandon the browser? Probably not. The barrier to entry is very low, it gives you a lot for a little coding. The user doesn't need special software to view the web, they have it already. Java Web Start may be a bridge.
October 28, 2003 at 07:22 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
TenCon Session: MacOS X Power Tools
Dan Frakes' Mac OS X Power Tools session is getting ready to kick off in a few minutes here and the room is packed to the gills. The sheer number of laptops in this small space is quite amazing. I'm convinced that someone, somewhere is getting cancer from this. But enough about me, the session begins below.
Dan lost his presentation to a FireWire problem in Panther, so we're kind of ad-hoc'ing it today.
Beginning with Exposé. You can use a mouse to trigger expose, so long as it's a multi-button mouse. You can also use the drag-copy with Exposé to grab text or pictures and move them around.
The new finder windows are all new. There's a lot of features that are brand new to Panther: you can create archives from the sprocket menu or from right click, as well as set labels and some other stuff as well. The new sidebar is a new way of interacting with the finder. No longer do you have to drag to the trash, there's an eject button there, there's also a burn button there for recordable media.
The sidebar also puts things in the open and save dialog sheets, allowing you to use the sidebar to act as a clearinghouse for data storage. You can also use the top title of a document as a real file link to drag and drop places.
Also added is on the fly searching in the finder and an authenticated delete option.
Fast User Switching can be used for troubleshooting, to allow for a "clean" user that is pristine for good troubleshooting, but without affecting your environment.
The new keyboard utilities are great for customizing keyboard solutions for laptop users and such, allowing people to avoid the trackpack entirely, if you so desire.
Panther brings back the Desktop Printers as well. There's also a whole bunch of saving options for the PDFs that are generated from printing dialogs, allowing you to email it places and all sorts of stuff.
Faxing from Panther is also pretty darn easy. It'll handle all the details right from your machine. Receiving faxes is awesome, allowing all sorts of custom options for fax receiving.
The Services menu is very much like the | in Unix, providing portals for other applications' functions. New in Panther: the Summarize function, excellent at taking pages of data and scrubbing them down to be small summaries.
Pseudo is a great little tool for a bunch of this.
October 28, 2003 at 05:09 PM in OS X Users Conference | Permalink | Comments (1) | TrackBack
TenCon Session: Deploying and Maintaining Mac OS X in the Enterprise
Bethany and Gabriel from Pixar are talking about Deploying and Maintaining OS X in the Enterprise this morning. I'm putting all the session notes below the cut for the time being.
The Stevens Creek room at the Westin is now quite full, maybe 120 people have gathered here to listen.
Gabe and Bethany are both part of the IT culture at Pixar, and together make up most of the design team for their OS X squad.
Preparing for the Deployment, 9 to X migration, Maintenance, and Future stuff.
Preparing for the Deployment:
Infrastructure is predominantly Iniox, 375 Mac Desktops, 100 laptops, and 500 Linux Workstations.
Mac OS X provides a lower cost of ownership, allows Users to maintain OS 9 type control.
They have an automated build out process and system updates. They used to use Retrospect, but with OS X they wanted a more automated solution. Application Deployment has been circumvented, and Command Line Admins using a tech like Will J described yesterday. Automated Reporting can fit with the Command Line to do real work.
So long as you're scripting, you're in the right arena. It doesn't matter how you do it, applescript, command line scripts, and all that jazz.
User Training:
How is OS X different? Coordinate this with in-house training, make web pages for basic training, perhaps consider buying the Apple web-based training. Provide extra support for users who are lost entirely. When they deployed it, there were toolbar favorites for soime support options.
It's really important you help the ones who aren't comfortable.
Build a migration database in FileMaker, it gives them an option to submit a form with options they wanted.
The 9 to X Migration.
They built a standard image in Carbon Copy Cloner. Applications, Directory Services, Modified the User Template, setting their Dock, setting the screensaver, setting the bookmarks. They built a program called Hostmaker for building and editing LDAP host records. Hostmaker gathers machine using system_profiler and user info automatically.
Then they'd grab the machine, boot it off the firewire drive and used rollout to grab all the info from their old machine, then run ePOXy for ASR and then grab the POX (Pixar OS X) image and install.
They built Configurator Extreme and uses LDAP to create username and LDAP settings and all the NetInfo stuff, THEN it creates a user using LDAP. Run rullout again and it grabs the documents from the HD and shoves them into the new machine.
Prefmaker does the rest, made in AppleScript.
TGIF wraps up the install at their desk. and creates a Welcome to Mac OS X @ Pixar page.
Some Scripts for OS X.
Package Management: installing apps. d2. They built it to install from a command line. It checks automatically every six hours and then gets installed automatically.
Based on the RPM system, similar to Yum http://linux.duke.edu/projects/yum.
Cfengine does high level scripting of the unix underpinnings. It's a language for scripting specifics of Panther and Jaguar.
Keeps things conf'd correctly. Once a script is set, you can set it to autorun in case somebody fubars their machine entirely.
Runon is a pixar tool to do multiple installs in one single stroke.
Looking forward:
NetInstall avoids the need for admins to manually upgrade X (also Jag -> Panther). Also allows post scripts to be run (Cfengine) and the KeyServer manages licesnses from a central location. Can also be allowed to track application usage.
Hive Relational Database (PostgreSQL) to supplement LDAP for other info. Free Disk Space, Number of Restarts, Average CPU activity, Non-Standard Apps (traitors!). All sorts of thoroughly dynamic info. This is something they're building now.
Admin uses tool to create LDAP record, then OSX is NetInstalled, Machine gets config'd with Cfengine, apps installed with d2 and then Authenticate through LDAP.
OS X is cheaper to support than OS 9.
Make many options to automate workflow
OS X integrates well with Unix infrastructure
Exciting stuff is just around the corner.
Before, it would have taken hours to do one machine, now it takes 15 minutes to do a new machine, or 2 hours for a full migration.
--
My brain is now thoroughly full of ideas and I'm afraid my head will explode.
October 28, 2003 at 02:05 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
TenCon Keynote: David Pogue
Famous OS X book author David Pogue has now taken the stage for this morning's second keynote session at the OS X Users Conference. David's written a ton of books about OS X, most notably the Missing Manual series of books. Dig Deeper for the whole set of keynote notes.
These are things that aren't on the webpage, these are things that are all new and not in the public eye yet. His secret weapon? Adam Goldstein.
Security is the biggest part of OS X. There isn't a single documented virus, it's not nearly as scary as Windows in terms of open ports. Apple's not making enough of this.
The Secure Empty Trash can wipe the entire drive and just annihilate it. FileVault handles all of the workarounds that were available before. This handles the OS 9 workaround, the firewire workaround. It encrypts your home directory. Makes it into a disk image and then you can't touch that stuff. It would take 149 trillion years (or, two Kevin Costner movies, back to back >applause<.
The left hand sidebar and have pretty much anything. It's not just places, it's apps, program, disks. Wait, you mean like the dock? No, it's different. It's more interesting, it puts names there, not like the dock, it enables "finder folding" to start column view in the first column right there, not at the Computer level. It's just basic folding of the finder window. It's a temporary shelf.
Menu droplets: New Classic Menulet, There are nineteen of them in the Menu Extras that you can use to start them up. PPP, PPPoE, etc. It's /System/Library/CoreServices/Menu\ Extras.
There are system level options to create zip files, using the right click, or the sprocket menu to create real honest-to-Ned Zip files.
Exposé is excellent. Well, excellent up to the point when you can trigger Exposé with the left shift key, but hey, we're not perfect. Multi Button Mice can do the same sort of things.
Expose and Command-Tab work together as well, allowing you to switch apps from inside Expose. The Command-Tab is clickable, and tapping it rather fast will take you the last used app.
The new programs have been very beefed up. TextEdit will allow you to do word completion with option-tab, which creates a drop down autocomplete. Command-Option-Shift-Escape cans the top-most program. Preview is a Acrobat Reader clone, and terribly fast. Searchable, clickable, the whole nine yards. Previews can open and convert pictures, and now can crop images and save it in any format. It can now open EPS and PostScript files as well at full resolution. Calculator is more powerful, with new modes and precision levels. Chess is much more precise as well, with new renderings for the chess sytem.
System Prefs can be opened from the keyboard with option-sound control and then you can control the prefs system and then once there, you can turn on total keyboard access and navigate entirely from the keyboard. Energy Saver now has a "please don't burn me" setting which allows for turning the speed of your processor down to avoid the heat that it creates.
Faxing is simple, it will send via email or just automatically print them out. You can now add a keystroke to any application.
To wrap it up, Panther can save you $1380. On a spycam, a fax machine, iChat, a scanner sharing solution and other option.
End of Keynote, off to break.
October 28, 2003 at 01:18 PM in OS X Users Conference | Permalink | Comments (1) | TrackBack
Opening Keynotes
Derrick Story has taken the stage this morning with Rael Dornfest to announce the beginning. They've welcomed us to the event and announced the lineup for the day, wireless connectivity and the whole nine yards:
Derrick: Please welcome Tim O'Reilly.
I've put the rest below the cut now.
What we do at O'Reilly:
We capture the knowledge of innovators and help spread what it is that they do to the masses. We help speed up the process of technology to the masses.
Dave Stutz left Microsoft last year, and when he did, he wrote a manifesto about Useful software, that's wrtitten above the level of the single device will command high margins for a long time to come. "Stop Looking over your shoulder and Invent something."
Now, let's look at iTunes and the Music Store. Derrick has taken over to tell you about the CDDB data for the CD, that is software above the device, that is, instead, much larger. There is a huge advance, all unthinkable years ago. The iTunes Music Store is now much more deeply embedded than any other app, beyond the machine level. This is all part of web services, all above the single device.
Moving to iPhoto, we see some interesting things. Services should be extensible. The assumption with iPhoto is that you produce your own, but not consume it, and iTunes is the opposite, when you consume, but not produce. Wouldn't it be great if you could share photos over Rendezvous? .Mac slides exists, but there's a whole bunch of friction there. It would be great if you could just, on the album level, move pictures over Rendezvous. We need to build in more networking.
Moving to iChat. Why don't Buddy Lists exist everywhere? Why can't they be in every app like a service?
Moving to Address Book, identity is so very important and crucial. Why can't we do more with syncing and more with sharing the Address Book. Applying the UGO (User, Group and Other) model to the Address Book over Rendezvous and Personal Networks, as well as Public Networks.
The future is here, it's just not evenly distributed yet. -- Gibson.
Human Interface Guidelines are being ignored now, despite that Apple created them, they're being hodgepodged, groups of metaphor:
Automatic lookup, Rendezvous, Buddy List, Gateways (email, Web site as drop box, Web site as store.) Syncing, Publish and Subscribe, Network drag and drop.
Rael: iCal is limiting, but somewhat good, but mostly broken. Syncing is a one off, it's not totally there yet. I can't share my calendar over IM or Buddy Lists, only email. We need to make this more pervasive.
We need to make HIGs for Network Generation of Applications. Rendezvous, Permissions and Buddy Lists, Two-way, not just one-way, Extensible, and a framework, not just an app. Scriptable. Scalable across multiple devices. It's a crime that iPhoto isn't rendezvous-enabled. We need more two-way communication, networking implies communication.
We're preparing for a real break, hacks that break old ideas and old ideals. Napster did it, but it was just the tip of the iceberg. Then we have the iTMS and then beyond music, what? We need more work, more frameworks that are robust and hackable. Not cracking, mind you, hacking. Hacking is where technology wants to go.
Q&A now:
You've voiced this to Apple, now what? "Oh yes, very interesting" is all they can get from Apple. Most large companies are hard to navigate. Tim says this all the time, hoping he gets the right ears. Develop for this, do stuff and apple will come along.
Apple needs to work harder on this, and harder on the protocols and best practices to be more integrated, more seamless, and more pervasive than before. But they're doing better than anyone else.
October 28, 2003 at 11:54 AM in OS X Users Conference | Permalink | Comments (0) | TrackBack
Dinner with Cliff and John
Cliff Skolnick and John McDermott and I are sitting in the lounge of the Westin waiting for our dinner to arrive and we're just geeking out about as hard as I've ever geeked. Discussion of wireless networks and politics and life, and it's just wonderful.
Again, it's the people, not just the material. I said it in July, and I'll say it again:
Without that bond, there is no community, and without community we've got much larger problems.
So that's what matters this weekend.
Learn. Make Friends. Be Yourself. Geek Out. Sing. Drink. Dance.
Enjoy.
October 27, 2003 at 10:05 PM in OS X Users Conference | Permalink | Comments (1) | TrackBack
Quote
"There, but for the grace of Rupert, goes TiVo." -- Rael Dornfest, O'Reilly.
October 27, 2003 at 08:07 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
Custom Mac OS X Setup via AppleScript Studio and CLT
I'm a few minutes late thanks to a detour to get a power adapter, so I'll be working to catch up. Our presenter is Will Jorgenson, who appears to be about my age, and far more advanced at this stuff than I am!
The topic here is setting up computers using AppleScript Studio and the Command Line to actually setup computers without having to deal with all that Apple Jazz. [oh my god. this is SO cool. SO useful.]
We're working in Xcode. So far, we're adding boxes in to the Main Menu.nib file. Since I didn't install Xcode, I'm adding it right now during his talk. I'm going to stash the rest below the line now.
Creating a rough interface is cake using Xcode, We've got a few boxes, and then some text fields. After that, we turn a few into NSSecureText objects, so they are like passwords, All bullets. The interface is built seperate from the code, as it should be, so beginning with an interface, you can then design the code.
Connecting the Interface
First, name the object so AppleScript can call it. Give it an event handler to respond to, ie, if they click it, now what? So, on "end editing" it can call a "does that match what they put in the field above it?" script and trigger another event.
[Wasylik, you will want to buy Panther just for Xcode. -T]
Coming up with a good naming scheme for fields and objects is fairly important. Do this before you start.
Now we're on our way here.
We've added the first first function.
on clicked theObject is how it begins. Below that is an if then that checks for some other goodies and we head on from there, it runs the passwords against each other, then also making sure that all the data is there and off we go
I really wish I had all this to post, but I just can't type fast enough. He's said that you can Email Him for the code (note that the address is spam protected). So I'll skip most of the code, in favor of details.
We're now through the actual script and talking about actually using the command line within AppleScript. It involves the do shell script command in AppleScript in concert with the sudo passwords that are available using administrator privileges.
Once done with the hard part, we're on to more functions that help to verify that everything in the script before it matches up and won't nuke and pave the whole darn thing.
Now we're on to actually creating a new user. This is an intense process, it all uses shell scripting the command dscl to handle everything. It sets all of the appropriate variables for an individual account and does it in a rather eloquent, if verbose, style.
In Panther, as opposed to Jaguar, the System creates a new group for each user with a group id that corresponds with their userid. So, there's a section that needs to get rewritten.
After a break, we're back on the path of creating this installer. Icon Composer in the Developer Tools will provide the templates, and you can then put TIFFs from Photoshop or whichever other program you might use, into the template to create the .icns file.
In the break, Will mentioned he built this very complicated script in about 40-60 hours. We're building an installer now using Xcode. It's pretty simple to do, you create a folder that acts as root, then create the paths (/System/Library/CoreServices/StartupItems) in that folder and then stuff your documents in there. It's pretty simple to just put files places, at this point we're done with the hard part if that's all you want to do.
The actual installer is fairly configurable within the Install Maker and fairly easy to explain.
We're wrapping up now, having explained the installer and the installation of pre-install and post-install shell scripts.
October 27, 2003 at 04:45 PM in OS X Users Conference | Permalink | Comments (0) | TrackBack
Session Notes: Unix Command Lines
These are the session notes from Matisse Enzer's Introduction to Unix Command Line Environment, and part of the morning Tutorials here at the O'Reilly Conference. Everything below the cut here is going to be typed as we go, with the session continuing from top to bottom, chronologically.
Matisse Enzer is our host today, a builder of Internet Things, for the most part. The audience here is maybe 30 people, most of whom are toting powerbooks with airport cards, judging from the Rendezvous list.
Unix was designed to encourage communication between programmers in a shared environment. This comes up all over the place in Unix.
The Beginning. What is Unix?
A Multi-Tasking, Multi-User Operating Sytem. It's designed for People who Design and Build. Powerful, Flexible, and Reliable (hard to crash). It's a device for creating new things out of many things in infinite combinations.
There are certain analogs between our environments, clicking in a GUI is like using run in unix. These aren't hard. It's just an adaptation you have to make when thinking in Unix.
Logging in from >console will give you a real terminal prompt, as will booting into single user mode.
Commands at a Prompt
The structure of any command is command options arguments. Which is to say:
[apollo:~] tbridge% date -u
Mon Oct 27 16:57:21 GMT 2003
Where date is the command and -u is an option.
The shell acts as an interpretor, it grabs the information and checks it for syntax before running it. Some problems with commands can be shell relateed.
Commands, Processes and Jobs
A Command is a single order.
A Process is a the OS's ID number for a running comand
A Job is a group of one or more processes run from the same command.
Unix systems enforce the new memory protection that's important in OS X based on processes, giving them all a bunch of memory and securing them from harm.
Whitespace
the Space is a totally valid filename character, but shells hate that. So you "escape" them with the Backslash. IE, My Big Picture.jpg becomes My\ Big\ Picture.jpg
Wildcards
* is a common wildcard, as is ?. * gives you any number of characters after it. ? gives you one character after it. Remember that OS X is a case-sensitive, case-preserving OS. OS 9 was case-insensitive, case-preserving OS.
Standard In and Standard Out
Input to Unix comes to the command line through STDIN, and leave it through STDOUT. There's also STDERR. These are places set up in each command. STDIN is not the same as an argument. It can come from a program, or an external device. But this is really cool when you want to pipe commands into each other. Like so:
ls -l /bin | cut -c38- | sort -n
One Job ID, three PIDs.
ls -l /bin | less will give you a listing, but wait for input as well.
Think of it as using various commands to create more complex outputs.
There's also the Ampersand, which puts a job into the background, basically shoving it into a window separate from your command line, which will give you back a prompt Right Then.
cut -f10 *.log | sorts | uniq -c | sort -nr | mail "me@somewhere.com" &
That will run in the background until it's done, giving you a prompt back immediately to play around with.
You can kill processes with the kill command. You can only kill jobs that you own. This is a users and groups, play nice with the other kids, sort of thing. It goes back to that community. think of it as a protection.
LS -F
Appends a character to the LS view that shows you what it does. / is a folder or directory, * is an executable, @ is a link.
Making Script Files
You've gotta start with a shebang line. #!/bin/sh is how scripts should start. They're basically groups of commands encased in a text file that's denoted with the top line.
The back tick: ` basically says "take what's in here, run this at shell, return the output inside the back ticks, the go back and keep working. This kind of stuff is great for loops and conditional, which is what basically make a programming language.
[Side Note: this is the first time my Rendezvous iChat list has outnumbered my Buddy List]
Read The Man!
Reading the manual using the man pages is important. It's got a bunch of stuff in Capitals, including the Synopsis which is the terse version of how the command is intended to be used.
[ManOpen is a great tool for reading the man files in a gui environment and printing them and stuff. It r0x0rs.]
The square brackets in the man synopsis denote optional things, and pipes make up an And/Or sort of thing as well. In addition to get out a command ctrl-c is the escape key.
Forget not the cron jobs. You have to run them on occasion. Use Cocktail or MacJanitor or Xupport to do it if you don't leave your box up 24/7. This will help run man -k at some point, allowing you to query the whole man database for commands that include your argument.
To sleep a process, and this is a good one, once running, type ctrl-z then at the prompt, type bg which puts it into the background as if you had asked it to run there all along.
Printing Man Files
You can run man -t COMMAND | lp, which turns a manual into PostScript, then shuffles it off to the printer. There's a way to pipe this through pstopdf to get PDFs. The syntax reads: man -t tail | pstopdf -i and that would slap a PDF called stdin.pdf in your ~.
There are some other commands that work only in macs: MvMac, CpMac, open, osascript.
File Archives and Compressions
tar is a bunch of files concatenated in a certain order. One big file, no compression.
gzip is the most popular unix compression scheme. Used together, they can zip large groups of files. There's a .tgz format that is a gzipped tar file. Tar will also allow you to page through an archive with the flag tar t, showing the listing, and also tar tv which will be verbose about it.
Viewing contents of files
cat is fairly useful for dumping all the contents to screen. cat | less will give it to you pieces at a time, which is likely preferable. cat can also concatenate files together, using > and >>. A la, cat a b c > filename does a new file, cat a b c >> filename adds to the end of any file, or creates a new one.
grep
grep is a search utility for text files. It's based on RegEx or Regular Expressions. locate also does stuff, BUT, locate is updated and uses a database, so it might not have all the most current stuff. find is another more daunting option.
find . -name ".mp3" or find /Users/puffball/Documents -name "*Work Order*"
xargs is a basically a placeholder for finding stuff. find ~ -type f | xargs grep -l money would perform a find, THEN use xargs as a STDIN/STDOUT for grep. So it's a find, within a find, using xargs.
Search and Replace!
sed is great for this. For example, sed "/love/s//amore//" my_story.txt > my_story_v2.txt will change all instances of love with amore in a new file called my_story_v2.txt
And we're just about out of time. Matisse's presentation finishes here.
October 27, 2003 at 11:53 AM in OS X Users Conference | Permalink | Comments (2) | TrackBack
Day One: Breakfast
I'm having breakfast this morning with some absolutely amazing folks. First off, Alex Young from NASA Goddard, who's here to learn about porting some of their UNIX and Solaris apps to OS X for Xserves. Then there's Jeff Hanrahan who works for Notre Dame in their IT department. Also, Rick Guthrie from the National Laboratories, and Dana Keil from the University of California, and Khan Klatt and Aaron Patterson from Classmates.com. So far, discussions of Unix and Panther have ensued, as well as talk of Solar Observatories and Fluid Dynamics. Off I go to Introduction to the Mac OS X Unix Command Line.
October 27, 2003 at 11:16 AM in OS X Users Conference | Permalink | Comments (3) | TrackBack
Feedster: Aiding And Abetting Dialogue
Scott Johnson, Feedster guru, and I exchanged a bit of a chat earlier this week about having a Feedster page dedicated to all the news from the OS X Users Conference from weblogs (or other RSS sources) in one place so that conference attendees could share news as well as others who weren't able to make it could see what was happening in Santa Clara.
Thus: Feedster's OS X Con page is born.
Are you coming to the OS X Users Conference? Email Scott and let him know you'll be writing about it, and where he can find your RSS feed and he'll add you to the dialogue. Hope to see you there!
PS: Don't forget to add the Main O'Reilly Trackback to your entries as well! Hint: add http://alpha.oreillynet.com/cgi-bin/tb/tb.cgi/macosx2003 to your pings box when you post an OS X Users Con related entry.
October 26, 2003 at 06:54 PM in OS X Users Conference, Weblogs | Permalink | Comments (0) | TrackBack
Arrived!
I've arrived, despite the fires in Southern California, safe and sound in Davis. I got in a bunch earlier than I had expected, grabbed my rental car and headed into the Central Valley to visit my Mom while I'm here. We're headed out to Dos Coyotes for some lunch here in a minute.
I've arrived in California in the middle of an October heat wave, with temperatures in the 90s and the sky is just electric blue. Landing at Oakland, you could see the entire Bay in front the aircraft, and the golden hills of Oakland on the eastern shore of the bay. As I drove up the 880, I marvelled at how much of San Francisco I could see, all the way to the Golden Gate and out into the Pacific, I certainly have picked some gorgeous weather to travel in!
More later, for now, there is a burrito calling my name.
October 26, 2003 at 03:46 PM in OS X Users Conference | Permalink | Comments (3) | TrackBack
Pantherized
I've Pantherized my laptop here at MacUpgrades and so far so good!
I'm all ready for the OS X Users Con!
October 24, 2003 at 10:51 PM in OS X Users Conference | Permalink | Comments (2) | TrackBack
O'Reilly OS X Users Conference
This time next week, I'll be winging my way westward to the O'Reilly OS X Users Conference in Santa Clara. I'll crash Sunday night with my parents in Davis then drive into the city early for the opening on Monday.
Are you coming to the conference? Do you blog? Leave your name and site address in the comments here, I'm working with Feedster to set up an OS X Users Conference section of their site to help OS X Con Bloggers communicate!
October 19, 2003 at 05:16 PM in OS X Users Conference | Permalink | Comments (2) | TrackBack
