El Aura RSS

elaura hispeed ch

Archive

Oct
7th
Wed
permalink

Creator codes

John Gruber makes all the right points (http://daringfireball.net/2009/10/congrtlns-osx) but fails to mention one crucial one: There never was an (official) interface to set creator codes. He correctly concludes that:

“The creator code long ago stopped meaning “the app that created the file”, and instead meant “the app this file should open with by default”.

If people had used the creator code to mark individual files as destined for one application and if this ability were now gone, there would be reason to complain. But no application I have ever seen had a check box: ‘Set creator code’ and no part of the Finder allowed you ever to set the creator code. Only third-party utilities did let you do this and and required that you knew the precise set of characters. Hardly different from how the situation is now.

To follow Gruber’s own reasoning, if the preferred application for any given file nowadays is more likely than not to be an application other than the one that created the file, surely, creator codes are more likely to result in an unintended behaviour than not. Particularly, given that the user has no choice whether an application sets the creator code or not except for a file-by-file manual override later. There are good reasons why basically no application still sets the creator code (if you subtract those using a custom file name extension, making the creator code already pointless).

Jul
1st
Wed
permalink

Boost, Bjam, Xcode for Dummies

Boost (boost.org) is an extensive set of open-source, peer-reviewed C++ libraries. Associated with it is a compilation/make tool called bjam. Here are some quick and dirty instructions to get it running:

Installing bjam:
- Install bjam executable in your path (eg, /usr/local/bin), get it from: http://www.boost.org/doc/libs/1_36_0/more/getting_started/unix-variants.html#get-bjam
- Install boost-build into /usr/local/share (no compilation necessary)
- add to /usr/share/boost-build/user-config.jam one single line (OS X specific, other *nix gcc): using darwin ;

Installing the boost libraries:
- for header only libraries, copy them anywhere (common location is /usr/local)
- for compiled libraries, install with:
> sudo bjam install —prefix=/usr/local/ —toolset=darwin
(for other systems choose the appropriate toolset, eg, gcc)

Configuration and invocation:
- compile with bjam (or bjam release, ie optimize the code)
- you need a file called ‘Jamroot’ in the root of your code directory, it minimally contains:

exe nameofexecutable : sourcecode.cpp ;

- to use the boost libraries you have to add after another ‘: ’ but before the final ‘;’ an  <include>/usr/local/include/boost-1_39 (ie, containing the path to the boost libraries, maybe repeat with /usr/local/lib/boost-1_39)

In Xcode:

- in the project window, click on the project name, get info, add to ‘Header Search Paths’ the path to the boost folder, eg, /usr/local/include/boost-1_39, uncheck the recursive box
- select the executeable, get info, add to ‘Arguments’ str

Refinements:

Add an environment variable to your .bash_rc file (or similar) (eg, add the line: BOOSTROOT=”PathToBoost”) and use $BOOSTROOT in the Jamroot file and set up a Source Tree in Xcode’s preferences with that name and value.

References:

http://www.boost.org/doc/tools/build/doc/userman.pdf

http://old.alanhogan.com/code/boost-xcode

http://lists.apple.com/archives/Xcode-users/2008/Jul/msg00068.html

http://stackoverflow.com/questions/749027/how-to-add-a-global-include-path-for-xcode

http://markmail.org/message/mnpajba5undaq5xi#query:bjam%20%22include%20path%22%20%22get%20started%22+page:1+mid:ow2vqhsada5zgudx+state:results

Feb
13th
Fri
permalink

Realplayer and Time Capsule

A lot of people are getting socket errors on all Real streams when connected via a Time Capsule. As always when certain internet connections systematically do not work while most others do, suspect a port issue in your internet connection pipeline. At one point, I thought only Realplayer 11 was affected but other users report problems with version 10 as well. What helped for me was expanding the UDP port range (in the Transport section of Realplayer’s preferences) from its default 7070-7071 to a very wide 6970-32000 AND unchecking the multicast option for RTSP connections (manually configuring the RTSP settings). Other suggestions of switching to the http protocol only did not work (possibly the server side has to support this different protocol, so this might work with some servers), forwording (portmapping) UDP 7070 in the TC also did not work. Apparently, the TC blocks some (incoming) UDP traffic but this is far from transparent. Well done Apple or Real, take your pick.

Even more severe problems can occur when connected to the internet via a 3G modem, as most (all?) mobile service providers (MSP) only keep a very, very limited number of ports open (VPN was very shaky, Matlab license server did not work, sending e-mail was touch and go).

Aug
21st
Thu
permalink

IMAP, Mail and the iPhone

I finally switched to IMAP for my main Gmail account on the occasion of getting an iPhone. I was diligent and did all the ‘recommended’ extra configuration:

  • In Mail.app’s account preferences, checked: ‘Store sent messages on the server’
  • Selected the ‘Sent messages’ folder in the GMAIL folder in the Mail sidebar and via Mailbox->Use this Mailbox for->Sent

However, no email sent from my Mac or from my iPhone using the gmail account  showed up in the sent folder in gmail. Nor was any email sent from my iPhone stored anywhere. After a total of my maybe eight hours I had eventually figured it out.

The problem is Mail.app and even more so the iPhone.

The point of IMAP is to have synchronized read counts (and deleted mails, etc.) and synchronised folders in multiple locations including the server. The most import folder apart from the inbox might arguably be the Sent Messages folder.
With multiple email accounts if one has not consolidated both the receiving and sending in one (IMAP) account (or does everything locally in Mail.app) one usually wants to have control which server sends and stores the sent messages (since sending to a server which is accessed via POP won’t store the messages anywhere).
That is why in Leopard, Mail acquired the possibility to send emails from a given account only with a specified smtp server.

And that is where things break down. If Mail cannot reach the specified smtp server, it asks after a short while whether it should try a different server. I run into this issue almost daily since at work only my work smtp server is accessible and at home my work smtp server is not accessible. The problem is that Mail than sticks to that manually selected alternative server until that one fails AND there is no possibility to know which smtp server Mail is using at any given moment (apart from sending an email to oneself and examining the header). And on top, there is no simple way to reset the smtp server (my solution is to make an smtp server inaccessible and then see whether Mail fails, if yes Mail is currently using this server for this account, in case of failure I can also select an smtp server manually).

What is even worse that this alternative smtp server is now (without you knowing it) ‘synched’ to the iPhone. And if you examine the account on the iPhone, the smtp you originally selected is still listed even though the iPhone using a different one. And even if you fixed things in Mail, synching won’t fix it on the iPhone you have to reset it.

And Gmail? Well, it just got the beating because it is so darn convoluted that everybody seems to give you different directions of how to configure it. Who would have thought that the smtp listed for an email account on the iPhone is not the one actually used.

Aug
17th
Sun
permalink

Capture NX - Why bother?

This quote from the Aperture User’s Network very much sums it up:

Personally I don’t care if a photographer uses Aperture or Lightroom or PhotoMechanic or even Bridge to do selects and ratings, but it pains me on a nearly physical level to see photographers opening up countless files in CS3 (or CS2 or CS, or 7, I’ve seen it all today) just to zoom in and see if they’re sharp.

(http://www.apertureprofessional.com/showthread.php?p=22282#post22282)

I got the same feeling after trying to use Capture NX (I bought vs. 1.3 one week before 2.0 was announced, bought the update now as well and only now started using it). When I first started using raw, I dabbled a bit with ACR, dragging images out of iPhoto on PS’s dock icon, but ended up doing most of my adjustments in PS proper. Only when Aperture came out, doing image adjustments went from being a chore to becoming a delight (I have used Aperture since 1.0.0).

I also own Lightroom (still on 1.4, waiting for the performance bugs to be ironed out in 2.0). Even though I clearly prefer Aperture, using LR for adjustments and web galleries is a lot of fun as well. In fact I do most of my web galleries in LR, exporting 50% jpegs out of AP and importing them into LR.

But Capture NX? If you only process a handful of images at a time, maybe. Or if you rely on the Picture Styles and things light Active-D Lightning, possibly. I bought Capture NX for its Auto-CA removal, which works great on raw files (not so on tiffs), but what is the point if your image has no CA (which you at any rate you only would see at 100%) but otherwise sucks? Not that Capture NX would not be able to produce nice pictures, but I simply would never arrive there. Firstly, the speed is abdominal, just switching the CA control on (or off) takes five seconds (on a Core 2 Duo MBP 2.33 GHz, 3 GB RAM, 7200 rpm drive). One cannot even call this a lagging response, this is in a completely different time zone. But foremost, it’s no fun using Capture NX. I don’t make a living of photos, so I won’t spend time on things that I annoy me.

And now imagine a non-destructive (ie, real-time) plugin to Aperture (or LR) that would be as slow as Capture NX. It would completely destroy the user experience of Aperture.

Jun
1st
Sun
permalink

Why Spaces will never work

In priniciple, Spaces is already superfluous. The real problem with Spaces is that hiding applications + minimizing windows does basically the same thing. Hiding applications allow for the creation of any combination of virtual spaces by unhiding a set of applications (and de-minimizing windows). That is what most users, particularly power users, do constantly. Unfortunately, minimizing does not really work. One cannot easily enough discern the content of minimized window s and similarly to switching spaces, OS X de-minimizes windows when and if it feels like. Moreover, I at least tend to forget about minimized windows and usually open a new one with the same content instead.

An alternative solution:
What is needed is a sort of a shelf for currently un-used applications and windows. The Dock does a good job for applications but a less good one for individual windows. Something like Expose for minimized (or shelved) windows, perhaps optionally restricted to those within an application should complement it. Spaces already has this Expose-like view of your different shelves, pardon, spaces.
Therefore I think, Spaces should be replaced with Shelf. Shelf should allow you to move windows to different shelves (like Spaces does). One could simply select any shelf to be the current desktop. Hidden applications would not be assigned to any shelf but would simply be added to your desktop when unhiding them. If a hidden application has windows distributed over different shelves, unhiding it would bring up the Expose view of Shelf. Hiding applications would hide their windows on all the shelves as well. This would mean that one would have to arrange any ‘desktop’ one app and one window at a time (if the app only has only one window or all windows in the same shelf, that simply would mean clicking the app’s Dock icon; if the app had windows on multiple shelves, one would have to drag multiple windows). The only real disadvantage compared to Spaces (or a true multiple desktop feature) would be that it would not be possible to quickly switch between multiple window configurations, ie, the positioning of windows (if an app has windows on more than one shelf) has to be re-done every time. The only tricky question is how to differentiate between switching to an application and unhiding it. One solution could be to always unhide and switch only (or a open a new window in applications configured for that) upon shift-click.

The only other alternative would be completely separate desktops with no switching except for intentional switching.

Apr
19th
Sat
permalink

Projects and albums in Aperture

The primary organisation of images in Aperture is via projects (and blue folders containing projects). Every image belongs to one and only one project. Albums provide a secondary organisational structure which is independent of projects but can be freely combined with them.

The main difference is that the same image can appear in several albums. That means that dragging an image from one album to another, ‘copies’ the image, it does not move it (dragging from project to project moves the image). The same image can therefore appear in albums within different projects. And albums themselves can appear outside of projects. Pressing alt, while dragging from album to album moves the image, but only from album to album, the master still remains in its original project.

My advice would be to that any organisational criteria that is exclusive (eg, holiday locations or trips, customers) should be implemented via projects. Any organisational structure that is topical (eg, people vs. landscapes) should be done via (smart) albums. Any output oriented structure (eg, web site, book, presentation) is also best done via (smart) albums, with the build-in web galleries being just a special kind of albums.
Since every image has to be associated with a project, it can be that when topical and exclusive criteria lead to the same structure, a structure based on projects already provides the necessary topical division.

To summarize, first think what ‘exclusive’ organisational structure you want, ie, a structure that is unambiguous, that says this picture should be here and not anywhere else, and implement that structure using projects and blue folders.
Secondly, think about how else you want to access your images and use albums for that (and group with folders when necessary).

A lot of people choose the date as an unambiguous criteria. That is the lazy and unimaginative way (but it naturally works). I think it is worth to make the effort to create a more descriptive structure.

Mar
20th
Thu
permalink

Spaces - I don't get it

In Leopard, Apple introduced Spaces, a multiple desktop tool. So far, I have not been able to figure out what it is really good for. Most often when my monitor(s) become(s) cluttered, it is because I have too many Finder windows open, some needed for one task and one application, some for another. I can distribute these windows over several spaces but as soon I close all windows in one space and then click back into the Finder to open a new one, I’m switched to another space where there are still open Finder windows. So, Spaces is useless for the task of distributing Finder windows.

In contrary to ubiquious apps like Finder, Terminal, Mail, or Camino, some apps are only used for one task. They could be assigned to one space. Or a combination of two apps could be assigned to one space. Yes, that actually works, but instead of switching between spaces I can just hide and unhide apps, thereby creating my own virtual spaces. What is the point of Spaces if clicking on one app moves you to that app’s space and therefore hides all other apps? Geez, I can do this with alt-click on the app as well. If you could distribute different windows of the same app over multiple spaces, without being transported back to the space with the last-used open window of that app when in fact you want to create a new window for that app in your current space, Spaces would be usefull. Right now, it is pretty useless and just provides a fancy way of hiding and unhiding groups of apps.

Mar
9th
Sun
permalink

After the dust has settled

After a week with Leopard surprisingly the machine seems to settle down (and I as well, I presume). The hiding issues are becoming less frequent. Mounted servers no longer ask for a password but still sometimes take very long (20 seconds) to mount. The spinning beachball has become less frequent also. Still, fixing and researching all these small issues and exploring all the new functinality takes a lot of time. These are pretty minor issues but can easily take one to several hours to figure out. Here is my list of what I had to do after the upgrade (necessary even with perfect hindsight):

Necessary installs:

  • Developer Tools
  • Fortran compiler
  • Acrobat plug-in
  • VPN client
  • Latex subsystem
  • Onyx
  • Cocktail
  • GnuPG (?)
  • GPGMail
  • LaTeXit 1.14.3 (1.14.4 hangs)
  • latexdiff

Required reconfiguration:

  • repoint svnX
  • repoint server alias
  • recreate IP printers and obtain their PPDs
  • Xcode 3 preferences & shortcuts (took some time to figure things out here)
  • redo the Dock (described earlier)
  • fix set-up of SMTP server in Mail
  • re-adding of ignore-locations for Spotlight
  • add the full path back to the Terminal prompt
Mar
5th
Wed
permalink

Don't, really don't

Do not upgrade to Mac OS X 10.5, at least not now, unless you have really nothing else to do. Wait maybe another six months and make sure to take a week off then, you will need it. Not that 10.5 is in any way a particular problematic update but you will probably find about half a dozen minor issues and each will take about a day to fix. That is why you need that week, and a box of tranquilizers. And hopefully they have fixed one or two of these half dozen issues by then.

Apple may manage to fix in the order of about 100’000 bugs in a major OS release but they also may introduce about new 100 bugs (remaining after the .2 release) and out of these 100’000 fixed bugs one notices possibly ten, but out of these 100 new bugs one also notices about ten. That is the truly amazing part. To give you just a few examples. In Tiger, only a few Adobe apps would not hide with cmd-h (but they would hide if alt-clicked on another app). In Leopard, half of the time when you try to hide an app it will not hide, not by any method. Restarting the app will bring back the hiding capabilities. Or take mounting a server, in Tiger one authenticated ones and that was it for the rest of the year, in Leopard one has to authenticate about every second time, it is pretty random.  And the server used to appear in the sidebar, now it may appear or it may not.

All these are rather minor issues but one spends hours first mounting and unmounting servers trying to figure out what is happening and then scouring the net for any indications of what is going on. That is why you need a week to install Leopard. And if during every month waited one issue is fixed then every month waited might save you one day of your life (and possibly even a few weeks of your life, considering the frustation that is avoided).