« July 2005 | Main | September 2005 »

August 2005 Archives

August 4, 2005

The Mac swears at you!

I think this could be worded in much more explecitive and redundant way, still giving away as little information as possible:

%@!!! The %@ preferences pane could not be removed because a %@ error occurred. Something apparently has gone %@ wrong. Expect that the %@ preferences pane is still there, because the removal attempt was interrupted by that %@ error. OK ??

Continue reading "The Mac swears at you!" »

August 9, 2005

Zero Filling - Part VII - Hyperthreads a related problem

A long time ago, about two years back, I was unhappy about zero filling. I am still unhappy about it.

One of the main arguments for zero filling is security. On a multi-user system you enter your password, which invariably is then stored if even temporarily in RAM. A clever process of a different user could now eventually swap in the used memory with this password and you are as they say compromised. (There is also an argument for it in a single user situation, I ignore this for this entry)

The same problem happens to an extent with hyperthreading. The fix for that appears to be, that hyperthreads are only allowed for processes of the same user. The same reasoning could be applied to memory as well. If memory is returned to the OS, then it need not be zeroed out if the owning process of the next allocation is by the same user.

This would make things quite a bit faster in some cases.

August 19, 2005

Server migration

The Mulle kybernetiK server will move tomorrow. So you can expect some downtime.

August 23, 2005

"Interesting" Example Code

From an AudioCore code sample:
static void	BuildDeviceMenu(AudioDeviceList *devlist, NSPopUpButton *menu, AudioDeviceID initSel)
{
   [menu removeAllItems];
   
   AudioDeviceList::DeviceList &thelist = devlist->GetList();
   int index = 0;
   for (AudioDeviceList::DeviceList::iterator i = thelist.begin(); i != thelist.end(); ++i, ++index) {
      while([menu itemWithTitle:[NSString stringWithCString: (*i).mName]] != nil) {
         strcat((*i).mName, " ");
      }
      
      if([menu itemWithTitle:[NSString stringWithCString: (*i).mName]] == nil) {
         [menu insertItemWithTitle: [NSString stringWithCString: (*i).mName] atIndex:index];
         
         if (initSel == (*i).mID)
            [menu selectItemAtIndex: index];
      }
   }
}
Also notice the clever use of if there to ensure nothing can go wrong.

About August 2005

This page contains all entries posted to Nat!'s Web Journal in August 2005. They are listed from oldest to newest.

July 2005 is the previous archive.

September 2005 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.34