Logo

Hawk Software

Programming, web design, and more

Recent Posts

Category

Archives

Meta

Ask Phil – Can an LGPL library be used for commercial software?

Programming No Comments

Many times I have been asked:

I would like to use your library HawkNL (or HawkVoiceDI) in a commercial application.  Does the LGPL allow me to do this? Or can I license your library for a commercial application?

My reply:

First, please read he full terms of the LGPL Version 2.  Basically, if you use the library as a Windows DLL or *nix loadable module or shared object, then you only need to provide source for the library and any modifications you added.  The end user MUST be able to modify the library source and recompile the library if they choose.  A good example of this was Sony’s use of HawkVoiceDI in the game Planetside.  Sony used HawkVoiceDI as a DLL and provided a link to the source code in the online manual.

And yes, these libraries, and some of my other code, is available under a commercial license.  Hawk Software is a part-time job for me, so licensing helps keep this website up!

Real posts 64, spam 1860, and a fixed point conversion update

Programming, Speech/Voice Compression No Comments

Whew!  Just got done reviewing posts to weed out the real ones from the spam.  The amount of spam has greatly increased over the last week, and out of 70 posts since yesterday there was ONE real post.  Or, at least, it was not obviously spam!

I know some are waiting for the rest of the floating point to fixed point series, and I am sorry that it is taking a lot more time than I anticipated.  Read the rest of this entry »

Validate your web pages for better accessibility

Accessibility, Web Design 2 Comments

This was originally going to be a VERY short post; I mean, how tough is this subject?  It is really just common sense that if you are using properly formed, standards compliant HTML or XHTML you are assured any compliant browser will be able to properly parse the page and present it in whatever form the user needs.  For example, many visually impaired users need a browser that incorporates text-to-speech technology, or they may just need to override the style to increase the font size and/or change the background and text colors for higher contrast.

For these reasons I always validate my pages as they are being developed, and occasionally I perform spot checks later.  So I was VERY surprised when I validated my last blog entry and discovered it was no longer valid XHTML Strict due to an attribute I had never heard of:  ‘aria-required’. Read the rest of this entry »

Creating Terms of Use – Don’t do it like Bill Gates!

Web Design 5 Comments

I have been working on my own Terms of Use page for this website.  Nothing too complicated; most web users are familiar with basic usage and privacy concerns related to blogs.  Still, it is one of those little details that need to get done, so I have kept my eye out for good and bad examples to use as a guide.  For example, I just saw a link to the Terms of Use for the Bill and Melinda Gates Foundation website.  Copy and paste this in your browser if you would like to read it for yourself: http://www.gatesfoundation.org/about/Pages/terms-of-use.aspx

I would have linked it, but I did not want to take the time to get permission first! You think I am kidding?  Here is section 11 in its entirety (emphasis is mine): Read the rest of this entry »

Floating point to fixed point code conversion – Part 3: Using macros to bridge the conversion process

Programming, Speech/Voice Compression 5 Comments

Be sure to read Part 1 for an introduction to fixed point math, and Part 2 for guidelines in preparing your floating point code for conversion to fixed point.

I begin the conversion process by adding these macros to the source files to emulate the fixed point math functions which will be used later:

#define fixed32         float
#define ftofix32(x)     ((float)(x))  /* float value to fixed */
#define itofix32(x)     ((float)(x))  /* integer value to fixed */ Read the rest of this entry »