|
About Andrew Choi
MIDI Programs
MIDI File Player (External Device)
MIDI Destination Pop-Up Button
MIDI File Player (Internal Synth)
MusicSequence Sample Code
MIDI File Writer
MIDI Name Document Parser
NameConfigSetup
Fish Creek MIDI Framework
MidnamUtility
SysExSenderX
Other Programs
FCBlogEditor
FCBlog and Patch
Chinese Checkers Program
jyut6 ping3 Cantonese Input Method
Cocoa Sample Programs
Syntax Coloring Using Flex
NSTextField and Undo
NSToolbar
Implementing File Import
Launch Application and Open URL
Saving Uncommitted Text Field Edits
Algorithms
Jazz Chord Analysis as Optimization
Optimal Line Breaking for Music
Optimal Chord Spacing
|
|
|
|
A blog where I will write mostly about programming in Cocoa and CoreMIDI, and experiences from my ports of Emacs and XEmacs to the Mac OS.
Friday January 9, 2004
Someone (apparently) from Apple posted on the coreaudio-api mailing list yesterday that GarageBand hosts AudioUnit instruments and effects. Thats very good news indeed.
Ive been reading some of the readers feedback of Ambrosias dated license code article. Much of what is said about piracy and shareware registration have been said before elsewhere and came as no surprise. I also read a Slashdot story on peoples willingness to pay for shareware. An obvious conclusion that one should draw from these is some form of license code/registration/authorization is absolutely necessary for shareware to be profitable.
So I spent a little time looking at mechanisms to support license code/registration/authorization. I read an article and another article about prevention of software from being cracked. These arent really useful because they mainly describe ad hoc and security through obscurity methods. I then read Kagis Activation Code Generator specs and examined their reference implementation. A rather simple (i.e. insecure) algorithm was used. So is the one used in a Cocoa Dev Central article.
One way of implementing license code is to sign a plain text containing the customer name (plus optionally other information) using a private key. The signature is then used as the license code. The application is allowed to run if the signature can be verified using the corresponding public key. If the plain text includes machine specific information (e.g. a machine serial number), then the application can only run on that machine (this corresponds to a challenge-response scheme). The plain text can also include the registration date which can be verified and used in a dated license code scheme. I don t think Ill go that far with my distribution. The next step is to work out a test implementation for this.
|
Building GIMP-2.0 Preview 1 on Mac OS X
|
Thursday January 8, 2004
The first preview release of GIMP-2.0 was announced yesterday. GIMP-2.0 is basically a newer version of GIMP-1.3, so the instructions I posted a while earlier for building the latter will work, with the following modifications when you build GIMP.
- GIMP-2.0 requires the Perl module
XML::Parser to build. One way of installing that module is to invoke perl -MCPAN -e shell and type install XML::Parser. For more information, see the man page for CPAN.
- The make files generated by
./configure is now correct so you no longer need to edit the line containing SYMPREFIX in app/Makefile.
- Note that the binary installed by GIMP-2.0pre1 is still called gimp-1.3.
Wednesday January 7, 2004
I placed an order for iLife 04 today, which, fortunately, should be shipped in Canada also on January 16. Besides wanting to play with GarageBand, I will also get the latest version of iDVD. My iMac has a SuperDrive, but the iDVD that came with it was version 1.0. The two-hour recording time on each DVD-R sounds great!
Ive been thinking about writing shareware. So Ive spent a little time today to look for and read a few articles on writing shareware.
From time to time, articles on news and discussion sites discuss the profitability of writing shareware, such as ones on MacSlash, Slashdot, and another one on Slashdot. These articles have limited usefulness because it is generally quite difficult to determine the credibility of people who might just be expressing their opinions (instead of describing actual facts, for example)! They do provide a few useful links to interesting webpages though.
I then read a three-part article at OReillys Mac DevCenter. The author has apparently written a few Mac shareware programs, none of which I have heard of before. Part three of the article was interesting because it compared the payment processing providers Kagi, DigiBuy, and eSellerate.
Much of the content of Peter Lewis Shareware Authoring, Rick Holzgrafes Successful Shareware, and Steve Pavlinas Shareware Amateurs vs. Shareware Professionals is common sense. But these articles do provide good comprehensive summaries of all the things that one must consider when going into the shareware business.
Interestingly, theres an association for shareware authors.
Colin Messitts article Why do people register, does crippling work, does anybody really know? is interesting because it demonstrates the necessity of crippleware experimentally.
Ambrosias fprefects article Bitwise Operator: The Plain Truth About Piracy is interesting because it gives an idea of the great number of people who will actually attempt to use license codes pirated from the Internet, and Ambrosias use of dated license codes to force users to re-register.
Some authors of these articles spend too much time trying to qualify what good software is. Needless to say, successful shareware will most likely have to be good software. Well, at least that part of it I believe I have a good handle on :-).
Tuesday January 6, 2004
If youre interested in digital audio on OS X, by this time today you must have heard about GarageBand, the new component of the new iLife. Its a digital recording studio, software instruments, sequencer, loop library, guitar signal processor all wrapped into one application. I watched the live webcast of MWSF this morning, and quite frankly the rest of Jobs presentation was quite uninteresting.
And it is an amazing deal as part of the $49 iLife suite! Of course by reading its specs, its hard to tell whether it can work with third-party audio units, whether it can control external MIDI devices from its sequencer, whether it can import/export MIDI files, and so on. Probably not. But I suppose well just have to wait to read some of the reports.
Ive been thinking about writing a small MIDI application on OS X to test the shareware market, just to see if that is something worth doing. Apples announcement of GarageBand today will probably put a few shareware authors out of business. Of course that just means one must choose an application area that is a little further away from the mainstream. I wont be discussing my application in this blog before it is ready for release. Ill however continue to work on the (artistic licensed) FCM framework and I hope to enhance it and post new versions of it and write about it from time to time.
Monday January 5, 2004
If you have plenty of time, you dont just read science fiction novels; you seek out good science fiction series! I have just finished Brian Herbert and Kevin Andersons Butlerian Jihad. I think the story is more captivating than their Prelude to Dune trilogy: House Atreides, House Harkonnen, and House Corrino. But I still liked the trilogy.
Of course they cannot compare with Frank Herberts Dune series: Dune, Dune Messiah, Children of Dune, God Emperor of Dune, Heretics of Dune, and Chapter House Dune, my all time favorite series.
Any of Frank Herberts books is a good read! If you are into series, try the trilogy he wrote with Bill Ransom: the Jesus Incident, the Ascension Factor, and the Lazarus Effect.
In completely different style, William Gibsons Neuromancer is also one of my favorite books. For more cyberpunk, try Virtual Light, Idoru, and All Tomorrows Parties. Not exactly a trilogy, but with recurring characters.
For a bit of humor, there is of course Douglas Adams trilogy: the Hitchhikers Guide to the Galaxy; the Restaurant at the End of the Universe; Life, the Universe and Everything; So Long, and Thanks for all the Fish; and Almost Harmless. Theyre a lot better than the old TV series.
For something delightfully weird, try Larry Nivens Ringworld, the Ringworld Engineers, and the Ringworld Throne. The concept of rishathra is rather intriguing.
For something easy to read, try Orson Scott Cards Enders Game, Speaker for the Dead, Xenicode, Children of the Mind, and whatever came out after that.
For some classic science fiction, try Isaac Asimovs Foundation series or Arthur C. Clarkes Rama series.
On another note, just fixed another bug in FCBlog, which showed up because of the new year. Heres the patch.
|
Search this blog with
Lists
Less-Known Facts About Emacs
Emacs Rants
Chinese Restaurants in Calgary
Calgary/Banff Tourist Attractions
C++ Reading List
Science Fiction Series
Top-10 Reason I Stopped Working on Emacs
Top-10 Types of Questions I Get About Emacs
10 Defining Moments as Programmer
Misc
Carbon XEmacs
Emacs for
Mac OS X
|