Book Reviews


[Day Permalink] Friday, April 30, 2004

[Item Permalink] Hardware and software for sound on Mac OS X -- Comment()
I just noticed that Mac OS X now obeys the volume controls on the cord of the Plantronics DSP-300 headset I have been using for videoconferencing. I have been using the keyboard function keys for volume control, but it is nice to be able to use the headset controls as well. This has been my only gripe with the headset. The sound quality is excellent in both directions.

Update: Apparently Marratech also likes DSP-300: "This table shows hardware that has been tested by Marratech and that works together with the client software Marratech Pro." And the recommended video camera is (no suprise there) Apple iSight.

I searched for a simple application for dictating (or otherwise recording live sound). Previously I used Spark ME, but that application has been discontinued. Perhaps Audio In will suit my modest needs, have to see.

Update 2: I checked Audio In, and it works rather nicely as a simple recording device. With the Plantronics headset the sound quality is fine. I had a moment of panic with the headset, when no sound was received by the program. Then I noticed that the mute button on the headset was lighted red. I had accidentally pressed it without noticing. The button only mutes the microphone, not the speakers.

PS. By the way, I really like the 'party list' functionality of iTunes 4.5 for playing randomly selected tracks from a user-selectable source. While I wrote this I was listening to Maria Callas singing La mamma morta, another suprise from the partly list of iTunes. And later on when I updated this entry I listened to Selena singing I Could Fall in Love.


[Item Permalink] A glimpse of history: the first Apple virus -- Comment()
The first virus was written for Apple systems: 'Elk Cloner is the first known computer virus that has spread "in the wild", i.e., outside the computer system or lab it was written in. It was written around 1982 by a 15-year-old high school student named Richard Skrenta for Apple II systems.'

I is nice to learn something from the history. Now the situation is different, Mac OS X has no viruses. Instead, Windows PC's have something like 60,000-90,000 virii.

Pardon my sloppy thinking. Ssp commented this succintly:

Are you really sure things have been learned? Isn't Apple just lucky to have a relatively small market share and having inherited the relatively secure Unix-style underlying system? I don't see OSX doing anything to prevent or safeguard you from running malicious programs on your machine. While there may be security related vulnerabilities in Windows, most of the current worms seem to not use them but rather take their power from 'social engineering' to spread and be installed. Perhaps Mac users are just smarter than their Windows colleagues ;) But even that wouldn't be a virtue of the OS.


[Item Permalink] My first try at a non-trivial Python program: solve optimization problems -- Comment()
I implemented the DE optimization algorithm (Differential Evolution) in Python. The code is available here. Here is a test run:
% /bin/ls DE
__init__.py   de.py   de_fun.py   de_rosen.py   de_test.py
% python
Python 2.3 (#1, Sep 13 2003, 00:49:11) 
[GCC 3.3 20030304 (Apple Computer, Inc. build 1495)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import DE
>>> dir(DE)
['__all__', '__builtins__', '__doc__', '__file__', '__name__', 
'__path__', '__version__', 'arange', 'argsort', 'array', 'de', 
'initialize', 'optimize', 'randint', 'random', 'sample', 
'where', 'zeros']
>>> help(DE)
Help on package DE:
NAME
    DE - The Differential Evolution (DE) optimizer.
...
DESCRIPTION
    Written by Juha Haataja (Juha.Haataja@csc.fi).
    Based on a Fortran 90/95 version from the textbook
      http://www.csc.fi/oppaat/f95/
PACKAGE CONTENTS
    de
    de_fun
    de_rosen
    de_test
...
VERSION
    0.3
>>> import DE.de_test 
First test problem...
Initial minimum value:  42.166977660750504
Dimension:  5
Population size:  25
Coefficient:  0.69999999999999996
Crossover probability:  0.10000000000000001
Iteration and minimum:  0 42.166977660750504
Iteration and minimum:  20 2.1721386210526616
...
Iteration and minimum:  500 0.00011160431004997307
Minimization completed!
Minimum element:  array([  99.99823054,   99.98755403,  
  100.0116417 ,   99.98456   ,  100.01369348])
Minimum cost:  0.00011160431004997307
Time for the run:  5.54
Second test problem...
Initial minimum value:  70.872204463296413
Dimension:  4
Population size:  20
Coefficient:  0.40000000000000002
Crossover probability:  0.20000000000000001
Iteration and minimum:  0 70.872204463296413
Iteration and minimum:  20 2.8363178964823685
...
Iteration and minimum:  500 0.069987620807705986
Minimization completed!
Minimum element:  array([ 0.94056405,  0.88459065,  0.78161181,  0.61824012])
Minimum cost:  0.069987620807705986
Time for the run:  4.1099999999999994
This Python version of the algorithm is about 50 times slower than the Fortran 90/95 version of the code. In my first try I used the Numarray package, and that was five times slower than this version, which uses Numeric.

I like the coding style of Python, and there certainly are a lot of packages to ease programming. But I have already noticed that Python definetely is not suited for computationally heavy use.


[Item Permalink]  -- Comment()
BBC Source Responds To Pro-Apple Claims: "I think to say that the BBC is pro-Apple based on one article on our Web site is pushing it a bit far. We produce tons of content from radio shows to in-depth coverage of the war in Iraq. It's impossible to produce anything without someone saying we're biased." By MacMinute (via MyAppleMenu) [MyAppleMenu]


[Item Permalink]  -- Comment()
Raising the Humble Chicken: "For the last two summers I have maintained a flock of chickens. The results have been ... interesting. More eggs than I could eat, interesting evenings, and a freezer full of what I consider very healthy meat. I plan to share my experiences in this article with the hope that somebody might be inspired to raise a small flock." [kuro5hin.org]