I must say that certain models of DEC keyboards which lack an escape key make vi a little awkward. You have to hit CTRL+] or F11 for escape, which just feels wrong.
--Div. But my grandest creation, as history will tell,
For anyone who hasn't tried it, I strongly recommend the GNU program "screen". It provides window management, cutting and pasting, and session saving all in a standard telnet window.
I'd certainly make screen my nomination in this category.
--Div. But my grandest creation, as history will tell,
Cute and probably true. There is a somewhat famous counterexample though:
At one point when Apple was releasing upgraded versions of its entire line of Macs (I think it was an increase in memory), it renamed them all with an "X" at the end of the name... except for the Mac SE.
I actually wrote a program (not a driver, but a regular user-space app) that listens for MIDI note events and translates them into X11 synthetic keypress events. I wrote it to experiment with chording combinations, although it does have the very neat side effect of being able to automate programs using a MIDI sequencer. The program is definitely not polished enough for real use, but it makes a fun toy.
That's funny, I thought that was the normal size for a trackball. Anything else is just an inferior, cheapened version (or scaled down to sacrifice useability for portability).
-- Div. But my grandest creation, as history will tell,
Well, now that the precedent has been set of a company insider posting on this thread, I'll say my piece:
Whenever you list the assets of the AltaVista company, don't forget our very strong AltaVista Search product, which we have in addition to our better-known AltaVista Search service.
This is a commercial product which is nicely profitable for the company (although there is a free version available for those who are interested). Take a look at www.altavista-software.com for details.
-- Div. But my grandest creation, as history will tell,
Thoughts about revisionist keyboards...
on
Interface Zen
·
· Score: 1
I agree with the argument that today's standard keyboard is rather lacking. For that reason, I only use original IBM brand extended keyboards (clackety, with a separate keypad, single-line enter, double-width backspace, and duplicate ctrl and alt keys in the correct size and location).
However, even these could stand for improvement, especially in this day of miniaturization for laptops, PDA's, etc. I'd like to explore Tom's complaint about chorded key combinations. Why do we have them at all?
Would it not be better to have mode keys instead? These would work sort of like caps lock, but they would be used for all modes, and there would be no default mode to "return to". To type Hello, World, you would thus hit upper, h, lower, e, l, l, o, symbol, comma, space, upper, w, lower, o, r, l, d. This way, there is no chording; mode keys are fire-and-forget, like everything else.
I would propose the following modes, which are mutually exclusive rather than additive. Pressing the control mode key then the alt mode key leaves you in alt mode, not ctrl+alt. This means that you never have to look at keyboard lights to ensure what mode you're in.
lowercase letters
uppercase letters
numbers
symbols
navigation
bucky 1 (traditional ctrl functions)
bucky 2 (traditional alt functions)
bucky 3 (various traditional ctrl+alt+shift combinations)
bucky 4 (more various traditional ctrl+alt+shift combinations)
I'm not sure whether space, enter, backspace, and tab (in order of importance) should be on their own keys and work in all modes, should be on their own keys which have different meanings in different modes, or should be on the letter keys and get accessed in a single mode. I'm leaning towards the second option.
Thanks for the vote of confidence! I actually wrote the web interface to WordNet that's at the Princeton site, along with the Tcl/Tk version of the offline WordNet browser.
Although it does the trick pretty nicely as a dictionary, it might help to remember that WordNet's real strength is in the fact that it is really a type of thesaurus. A dictionary is basically an associative array (words to definitions) but WordNet is an n-dimentional graph or net (hence the name) of relationships between words (synonyms, antonyms, "is a type of", "is a part of", etc). This makes it far easier to actually browse than a dictionary.
To answer your question, I'm afraid I don't remember the number of words in the WordNet database. If you download the kit from the site at Princeton, it'll tell you there. You'll also have the added benefit of it running much faster, since the network and server at Princeton are both pretty slow.
Fun bit of history as to why WordNet is open source? It has the same kind of background as the Internet itself... an academic effort sponsored by DARPA.
-- Div. But my grandest creation, as history will tell,
>> Personally I prefer predictable runtime performance (can we say no garbage collection) and still do it manually (using a malloc debugger to find memory leaks). I admit having to do this is pretty sad, but at least in C++ I have the option.
> Yeah, it's pretty sad to do this when time-critical performance isn't an issue, isn't it? The number of apps that require real-time performance pail in comparison to the number of apps that run perfectly fine in Visual Basic, TCL, Perl, Java, and Python. (all of which, feature some form of automatic memory reclaimation, whether it is GC or reference counting)
We've had a long discussion about this on the Linux Audio Development mailing list. Audio applications are a notable class of programs in which realtime accuracy is a significant issue.
Basically, our verdict was that there's no good reason not to use an interpreted or semi-interpreted language (like Java, Perl, or Tcl8) to write your program framework and GUI as long as critical sections were implemented in C or assembly. Keep in mind that all the languages in question can easily call C or assembly routines.
If you're concerned about portability, remember that most "critical sections" involve computation only (not graphics, networking, database access, etc) and thus are trivially portable when written in pure ANSI C. The remaining issues are merely byte order, 32 vs. 64 bit accuracy, and the availability of SIMD instructions, all of which are problems for which there have been textbook workarounds for many years.
For that reason, I've not been worried about using Java for the majority of the MIDI sequencer (an application which is very dependent on realtime accuracy) which I'm currently writing. Only the realtime I/O routines (not even the file I/O) are written in C. I personally find Java very comfortable and convenient for everything else.
-- Div. But my grandest creation, as history will tell,
Not to get into a flame war, but maybe as an IIS fan you can solve a problem of mine. I ran into this when porting a custom Apache module to run as an IIS filter extension DLL.
Basically, I wanted to map a portion of the web server's namespace so that anything there used the module to return dynamic content. I wanted "http://localhost/mapped-area?foo=bar" to generate the return page from running a module called "handler" with CGI arguments "foo=bar".
In IIS however, you apparently cannot set a handler on a directory or directory tree; you can only reference the DLL directly, thus requiring the URL to be "http://localhost/handler.dll?foo=bar", which was unacceptable for reasons of backwards compatibility. I eventually made a workaround using an HTTP 300 redirect, but this is obviously inefficient.
Any ideas on how to make this right, or is it really a proof that IIS is inferior?
Thanks, Div. But my grandest creation, as history will tell,
>> or the theatre group (and don't just be a techie, TRY out for a part, for Pete's sake), or anything artsy.
> _This_ is the only good suggestion you've given. And although I know few geeks that have any acting talent whatsoever, I've known many artistic types with whom I've gotten along with very well indeed, and were even halfway geeky sorts.
Hmm, the last play I acted in, the lead worked for Applix. I'm a coder at AltaVista. One of my coworkers there is also a pro-quality ballet dancer. The list goes on and on...
When you're talking about college/community theatre or any other recreational (non-professional) form of the arts, you're actually very likely to find a high number of geeks. The type of talent and creativity it takes to be a good programmer often (though not necessarily) corresponds very closely to the type of talent it takes to be an artist or musician; dramatic acting is not a far way off.
Warning... beginning to philosophise here...
As for being able to successfully communicate with non-geeks, I've never found it to be a problem. Sure I've dealt with jocks who were jerks. But I've also dealt with geeks who were jerks, and had jocks as friends. I've even known people who could be considered both jocks and geeks simultaneously. And that doesn't even begin to address the other common cliques under which people are labeled (like artists, or motorheads, or hippies, or the appearance-obsessed, or whatever).
I'm too realistic to say that all cliques are a evil idea, and we should only have a single global community. Of course, it's nice to have a group of friends with whom you share at least one defining personality trait. My point is that it is very possible (and has always come naturally for me) for a single person to be a member of multiple communities or cliques. It keeps you balanced, and avoids the whole "us versus them" mentality that leads to incidents like Columbine.
I find the whole stereotyping that routinely goes on at Slashdot to be rather ridiculous. The percentage of socially inept techies I've met in my life is pretty much equal to the percentage of socially inept people who don't revel in computers. I'm fairly curious to see how many folks here actually believe they fit the unofficial Slashdot stereotype. I for one consider myself far more well-rounded, with extremely different views about women, etc. I still consider myself a member of the Slashdot community and continue to read the site because I enjoy its technical, literary, and occasionally its political aspects, but almost never its social commentary.
As a graduate of the CS program there, I also would highly recommend Princeton, but not necessarily as a source for the things the original poster asked. Princeton's program tends to be more theoretical than pragmatic, so for example, you'll get a world-class background in algorithm design, but C++ won't be on your curriculum (let alone app languages like Cold Fusion). Last time I checked, we were ranked eighth amongst US undergraduate CS programs.
Div. But my grandest creation, as history will tell,
> Think of it as an alpha chip that will run any off the shelf windows program you pick up at the corner software store.
Actually, the same is true of the real DEC / Compaq Alpha chip. It can run X86 Windows binaries using very highly optimized software emulation. The technology is called FX32, and is available for free. Unfortunately, the project was recently cancelled.
Of course, the Transmeta chip (according to the popular speculations) will do this X86 emulation in hardware/microcode rather than in software, but we shouldn't ignore that which is available today. For what it's worth, in spite of its software-based approach, FX32 runs nearly as fast as the code would natively on a similarly clocked X86, due to use of dynamic recompilation.
I got my one foot square fresnel lens as surplus from Edmund Scientific for under ten bucks some years back. It is indeed a great toy. I've even soldered with it under sunlight, but admittedly it wasn't a very good soldering job.
Div. But my grandest creation, as history will tell,
In an email conversation which followed the last Slashdot discussion about adding antialiased font support to X, I came up with the following [probably unoriginal] idea:
Why not create a hand-antialiased font by building it up out of multiple standard monochrome BDF fonts, which you overlay in the same location using different colors (greys)?
For instance, to get a simple antialiased "a":
BDF 1, drawn with color black:
. # # #. . . . . # . # # . # # . . #. . # # . #
BDF 2, drawn with color 50% grey:
# . . . # . . . .. # . . #. . . . . # # . . #.
The combined output:
x # # # x . . . . # x # # x # # . . # x x # # x #
The advantage of this is that it can be done entirely with the existing font drawing mechanism (just invoked multiple times).
I've always been interested when people have compared Firewire and Ethernet before. Has anybody ever tried running typical Firewire-supported devices directly over Ethernet before? I mean hard drives, removable media storage devices, scanners, printers, cameras, keyboards, and mice. I've used Ethernet-speaking printers, and heard of (but not personally seen) Ethernet-speaking RAID arrays, but what about the others? Would it be cost effective, or technically a good idea?
Curious, --Div. But my grandest creation, as history will tell,
Maybe the reason people are so fierce about this is the fact that the GIF format has become a de facto standard for the web. The same Unisys patent applies to the vast majority of TIFF files as well, for instance, but nobody cares about those because we haven't grown dependent on them.
In fact, there is no particular reason that GIF is as popular as it is, other than that the folks at NCSA arbitrarily chose to support it in Mosaic.
This is a very concrete example of why de facto standards are much more dangerous than open licensed, freely available, public ones. Three cheers for the IETF, the W3C, and all other freedom-oriented standards bodies! Keep your guard up around the Open Group, the MMA (MIDI Manufacturers Association), and other standards bodies whose licenses are restrictive and expensive.
Not to disagree with you, but I was referring to Java as a platform, not an implementation. The virtual machine, language, and API specs are not "open source" in the sense that they may be freely and indiscriminately modified (as Microsoft found out in court), but they can be freely implemented.
As I mentioned in one of the instant messager threads last week, I'm a much bigger fan of open standards than of open source. Reimplementing something that's closed source but open standards may be drudge work (I don't see you helping out with the Lesstif coding effort), but I do believe that it's a very worthwhile freedom to have, and much more worth defending than open source.
Hmm. The majority of my recent open source coding efforts have been in Java. I'm still not positive whether Sun's licence counts as Open Source (TM) or not, but it means that the code I write can run very nicely on both closed and open operating systems.
For that matter, when I write in C, I seldom rely on more than just the standard C library (plus Pthreads and a few Posix calls), which is a "platform" that also works more-or-less unmodified on both closed and open operating systems.
My point is, who cares? As long as my license doesn't prevent it (and for my purposes that would be ridiculous), porting for me is either zero or trivial effort. So why not?
And if I didn't do it myself, the very nature of open sourcing my code would make it easy and legal for someone else to do the port for me. Witness the Cygnus ports of the GNU tools. Don't tell me Stallman was planning to do Windows ports himself!
Since you seem to be one of the most vocal "let's replace X" advocates in this forum, I find it interesting to see your exact list of complaints with X.
> Doesn't thread
X is merely a protocol, not an implementation. If you don't like XFree86's lack of threading (if that's even true), then buy another server or write your own. If it's actually the client side that bothers you, write your own version of Xlib. I can't see how threading problems would be inherent in the protocol.
> Fonts unscalable.
Rescaling fonts is not the problem; X certainly supports vector fonts like TrueType and PostScript Type 1 through font servers. The real problem is that X forces fonts to be monochrome, which prevents antialiasing.
> Non-GPL
Come on, give it a rest. X is the protocol, damn it. The protocol is a freely implementable public specification. It is no more proprietary than FTP. If you wanted to create an freely available but extended, customized version of FTP (the sort of right that GPL guarantees for code) then you might not have the right to refer to it as "FTP" anymore, but you would still have the right to do it. X is exactly the same way.
If you can't live without antialiased font support and you can't convince the Open Group to adopt your changes, then fork! Take the existing protocol spec, add in provisions for the new feature, and try an implementing your changes based on XFree86 or the Open Group's own reference implementation, both of which are freely extensible.
I'm all for moving to X12 if it means that antialiased font support will be added!
Div. But my grandest creation, as history will tell,
I remember one of my friends at college was writing an X server for BeOS some years back. It was his first project after he bought his BeBox (yes, a real original one... we were all so jealous). I don't know if he ever finished it or released it though, or whether it would work with current generations of Be. Check BeWare or do a Web search.
Div. But my grandest creation, as history will tell,
IRC is not necessarily evil. I recently set up a local (behind the firewall), isolated (not attached to any "network") IRC server for use with my group at work. It functions very nicely, and users have their choice of clients. This does not mean that IRC is the right instant messaging choice for every situation, but at least proves that it can a workable alternative to ntalk.
No messaging service of any sort is immune to spam, porn, and warez abuses. Web forums, Email, Usenet, IRC, Muds, and even BBS's are just as prone to abuse as the newer instant messagers. Thank heavens for moderation on Slashdot! (Actually, thank Rob!)
Toilet paper dispenser advertising "Get Rich Quick!!!!!".
Now we're completely off topic, but has anybody actually tried this? Printing advertisements on toilet paper and then selling it at a lower cost, subsidised by the advertisers? I don't see any real harm in it, and it would be very satisfying to wipe your rear with the ads you didn't like.
Too bad I'm an engineer, not an entrepreneur.:-) Div.
Give me open protocols and open file formats before open source any day!
I don't mind open source, but I don't ever expect it of other people or companies... the choice is theirs both legally and morally. However, proprietary protocols and file formats are unforgivable.
From a personal viewpoint, I much prefer a well written protocol spec over trying to decypher someone else's spaghetti code. I release my progs as open source simply because I have nothing to gain by keeping them closed, not because I believe that the source is inherently all that useful by itself.
--Div.
But my grandest creation, as history will tell,
For anyone who hasn't tried it, I strongly recommend the GNU program "screen". It provides window management, cutting and pasting, and session saving all in a standard telnet window.
I'd certainly make screen my nomination in this category.
--Div.
But my grandest creation, as history will tell,
Cute and probably true. There is a somewhat famous counterexample though:
At one point when Apple was releasing upgraded versions of its entire line of Macs (I think it was an increase in memory), it renamed them all with an "X" at the end of the name... except for the Mac SE.
But my grandest creation, as history will tell,
I actually wrote a program (not a driver, but a regular user-space app) that listens for MIDI note events and translates them into X11 synthetic keypress events. I wrote it to experiment with chording combinations, although it does have the very neat side effect of being able to automate programs using a MIDI sequencer. The program is definitely not polished enough for real use, but it makes a fun toy.
You can download it from the following web site: http://members.xoom.com/tobyfax/miditoys/ .
-- Div.
But my grandest creation, as history will tell,
> The trackball is huge - the size of a cueball.
That's funny, I thought that was the normal size for a trackball. Anything else is just an inferior, cheapened version (or scaled down to sacrifice useability for portability).
-- Div.
But my grandest creation, as history will tell,
Well, now that the precedent has been set of a company insider posting on this thread, I'll say my piece:
Whenever you list the assets of the AltaVista company, don't forget our very strong AltaVista Search product, which we have in addition to our better-known AltaVista Search service.
This is a commercial product which is nicely profitable for the company (although there is a free version available for those who are interested). Take a look at www.altavista-software.com for details.
-- Div.
But my grandest creation, as history will tell,
I agree with the argument that today's standard keyboard is rather lacking. For that reason, I only use original IBM brand extended keyboards (clackety, with a separate keypad, single-line enter, double-width backspace, and duplicate ctrl and alt keys in the correct size and location).
However, even these could stand for improvement, especially in this day of miniaturization for laptops, PDA's, etc. I'd like to explore Tom's complaint about chorded key combinations. Why do we have them at all?
Would it not be better to have mode keys instead? These would work sort of like caps lock, but they would be used for all modes, and there would be no default mode to "return to". To type Hello, World, you would thus hit upper, h, lower, e, l, l, o, symbol, comma, space, upper, w, lower, o, r, l, d. This way, there is no chording; mode keys are fire-and-forget, like everything else.
I would propose the following modes, which are mutually exclusive rather than additive. Pressing the control mode key then the alt mode key leaves you in alt mode, not ctrl+alt. This means that you never have to look at keyboard lights to ensure what mode you're in.
I'm not sure whether space, enter, backspace, and tab (in order of importance) should be on their own keys and work in all modes, should be on their own keys which have different meanings in different modes, or should be on the letter keys and get accessed in a single mode. I'm leaning towards the second option.
Ideas? Anybody want to build one?
Div.
But my grandest creation, as history will tell,
Thanks for the vote of confidence! I actually wrote the web interface to WordNet that's at the Princeton site, along with the Tcl/Tk version of the offline WordNet browser.
Although it does the trick pretty nicely as a dictionary, it might help to remember that WordNet's real strength is in the fact that it is really a type of thesaurus. A dictionary is basically an associative array (words to definitions) but WordNet is an n-dimentional graph or net (hence the name) of relationships between words (synonyms, antonyms, "is a type of", "is a part of", etc). This makes it far easier to actually browse than a dictionary.
To answer your question, I'm afraid I don't remember the number of words in the WordNet database. If you download the kit from the site at Princeton, it'll tell you there. You'll also have the added benefit of it running much faster, since the network and server at Princeton are both pretty slow.
Fun bit of history as to why WordNet is open source? It has the same kind of background as the Internet itself... an academic effort sponsored by DARPA.
-- Div.
But my grandest creation, as history will tell,
>> Personally I prefer predictable runtime performance (can we say no garbage collection) and still do it manually (using a malloc debugger to find memory leaks). I admit having to do this is pretty sad, but at least in C++ I have the option.
> Yeah, it's pretty sad to do this when time-critical performance isn't an issue, isn't it? The number of apps that require real-time performance pail in comparison to the number of apps that run perfectly fine in Visual Basic, TCL, Perl, Java, and Python. (all of which, feature some form of automatic memory reclaimation, whether it is GC or reference counting)
We've had a long discussion about this on the Linux Audio Development mailing list. Audio applications are a notable class of programs in which realtime accuracy is a significant issue.
Basically, our verdict was that there's no good reason not to use an interpreted or semi-interpreted language (like Java, Perl, or Tcl8) to write your program framework and GUI as long as critical sections were implemented in C or assembly. Keep in mind that all the languages in question can easily call C or assembly routines.
If you're concerned about portability, remember that most "critical sections" involve computation only (not graphics, networking, database access, etc) and thus are trivially portable when written in pure ANSI C. The remaining issues are merely byte order, 32 vs. 64 bit accuracy, and the availability of SIMD instructions, all of which are problems for which there have been textbook workarounds for many years.
For that reason, I've not been worried about using Java for the majority of the MIDI sequencer (an application which is very dependent on realtime accuracy) which I'm currently writing. Only the realtime I/O routines (not even the file I/O) are written in C. I personally find Java very comfortable and convenient for everything else.
-- Div.
But my grandest creation, as history will tell,
> IIS is faster than Apache, can do more things
Not to get into a flame war, but maybe as an IIS fan you can solve a problem of mine. I ran into this when porting a custom Apache module to run as an IIS filter extension DLL.
Basically, I wanted to map a portion of the web server's namespace so that anything there used the module to return dynamic content. I wanted "http://localhost/mapped-area?foo=bar" to generate the return page from running a module called "handler" with CGI arguments "foo=bar".
In Apache, this was as simple as:
<Location /mapped-area>
SetHandler modhandler.so
</Location>
In IIS however, you apparently cannot set a handler on a directory or directory tree; you can only reference the DLL directly, thus requiring the URL to be "http://localhost/handler.dll?foo=bar", which was unacceptable for reasons of backwards compatibility. I eventually made a workaround using an HTTP 300 redirect, but this is obviously inefficient.
Any ideas on how to make this right, or is it really a proof that IIS is inferior?
Thanks,
Div.
But my grandest creation, as history will tell,
>> or the theatre group (and don't just be a techie, TRY out for a part, for Pete's sake), or anything artsy.
> _This_ is the only good suggestion you've given. And although I know few geeks that have any acting talent whatsoever, I've known many artistic types with whom I've gotten along with very well indeed, and were even halfway geeky sorts.
Hmm, the last play I acted in, the lead worked for Applix. I'm a coder at AltaVista. One of my coworkers there is also a pro-quality ballet dancer. The list goes on and on...
When you're talking about college/community theatre or any other recreational (non-professional) form of the arts, you're actually very likely to find a high number of geeks. The type of talent and creativity it takes to be a good programmer often (though not necessarily) corresponds very closely to the type of talent it takes to be an artist or musician; dramatic acting is not a far way off.
Warning... beginning to philosophise here...
As for being able to successfully communicate with non-geeks, I've never found it to be a problem. Sure I've dealt with jocks who were jerks. But I've also dealt with geeks who were jerks, and had jocks as friends. I've even known people who could be considered both jocks and geeks simultaneously. And that doesn't even begin to address the other common cliques under which people are labeled (like artists, or motorheads, or hippies, or the appearance-obsessed, or whatever).
I'm too realistic to say that all cliques are a evil idea, and we should only have a single global community. Of course, it's nice to have a group of friends with whom you share at least one defining personality trait. My point is that it is very possible (and has always come naturally for me) for a single person to be a member of multiple communities or cliques. It keeps you balanced, and avoids the whole "us versus them" mentality that leads to incidents like Columbine.
I find the whole stereotyping that routinely goes on at Slashdot to be rather ridiculous. The percentage of socially inept techies I've met in my life is pretty much equal to the percentage of socially inept people who don't revel in computers. I'm fairly curious to see how many folks here actually believe they fit the unofficial Slashdot stereotype. I for one consider myself far more well-rounded, with extremely different views about women, etc. I still consider myself a member of the Slashdot community and continue to read the site because I enjoy its technical, literary, and occasionally its political aspects, but almost never its social commentary.
Hey CT, how about that for a poll?
-- Div.
But my grandest creation, as history will tell,
As a graduate of the CS program there, I also would highly recommend Princeton, but not necessarily as a source for the things the original poster asked. Princeton's program tends to be more theoretical than pragmatic, so for example, you'll get a world-class background in algorithm design, but C++ won't be on your curriculum (let alone app languages like Cold Fusion). Last time I checked, we were ranked eighth amongst US undergraduate CS programs.
Div.
But my grandest creation, as history will tell,
> Think of it as an alpha chip that will run any off the shelf windows program you pick up at the corner software store.
Actually, the same is true of the real DEC / Compaq Alpha chip. It can run X86 Windows binaries using very highly optimized software emulation. The technology is called FX32, and is available for free. Unfortunately, the project was recently cancelled.
Of course, the Transmeta chip (according to the popular speculations) will do this X86 emulation in hardware/microcode rather than in software, but we shouldn't ignore that which is available today. For what it's worth, in spite of its software-based approach, FX32 runs nearly as fast as the code would natively on a similarly clocked X86, due to use of dynamic recompilation.
Div.
But my grandest creation, as history will tell,
I got my one foot square fresnel lens as surplus
from Edmund Scientific for under ten bucks some
years back. It is indeed a great toy. I've
even soldered with it under sunlight, but admittedly it wasn't a very good soldering job.
Div.
But my grandest creation, as history will tell,
In an email conversation which followed the last Slashdot discussion about adding antialiased font support to X, I came up with the following [probably unoriginal] idea:
Why not create a hand-antialiased font by building it up out of multiple standard monochrome BDF fonts, which you overlay in the same location using different colors (greys)?
For instance, to get a simple antialiased "a":
BDF 1, drawn with color black:
. # # # . .
. . . . #
. # # . #
# . . #
. # # . #
BDF 2, drawn with color 50% grey:
# . . . # . . .
. . . .
# . . #
. . . . #
# . . #
The combined output:
x # # # x
. . . . #
x # # x #
# . . # x
x # # x #
The advantage of this is that it can be done entirely with the existing font drawing mechanism (just invoked multiple times).
Think this'll fly?
Div.
But my grandest creation, as history will tell,
I've always been interested when people have compared Firewire and Ethernet before. Has anybody ever tried running typical Firewire-supported devices directly over Ethernet before? I mean hard drives, removable media storage devices, scanners, printers, cameras, keyboards, and mice. I've used Ethernet-speaking printers, and heard of (but not personally seen) Ethernet-speaking RAID arrays, but what about the others? Would it be cost effective, or technically a good idea?
Curious,--Div.
But my grandest creation, as history will tell,
NIMH = National Institute of Mental Health
But my grandest creation, as history will tell,
Maybe the reason people are so fierce about this is the fact that the GIF format has become a de facto standard for the web. The same Unisys patent applies to the vast majority of TIFF files as well, for instance, but nobody cares about those because we haven't grown dependent on them.
In fact, there is no particular reason that GIF is as popular as it is, other than that the folks at NCSA arbitrarily chose to support it in Mosaic.
This is a very concrete example of why de facto standards are much more dangerous than open licensed, freely available, public ones. Three cheers for the IETF, the W3C, and all other freedom-oriented standards bodies! Keep your guard up around the Open Group, the MMA (MIDI Manufacturers Association), and other standards bodies whose licenses are restrictive and expensive.
--Div.
But my grandest creation, as history will tell,
Not to disagree with you, but I was referring to Java as a platform, not an implementation. The virtual machine, language, and API specs are not "open source" in the sense that they may be freely and indiscriminately modified (as Microsoft found out in court), but they can be freely implemented.
As I mentioned in one of the instant messager threads last week, I'm a much bigger fan of open standards than of open source. Reimplementing something that's closed source but open standards may be drudge work (I don't see you helping out with the Lesstif coding effort), but I do believe that it's a very worthwhile freedom to have, and much more worth defending than open source.
-- Div.
But my grandest creation, as history will tell,
Hmm. The majority of my recent open source coding efforts have been in Java. I'm still not positive whether Sun's licence counts as Open Source (TM) or not, but it means that the code I write can run very nicely on both closed and open operating systems.
For that matter, when I write in C, I seldom rely on more than just the standard C library (plus Pthreads and a few Posix calls), which is a "platform" that also works more-or-less unmodified on both closed and open operating systems.
My point is, who cares? As long as my license doesn't prevent it (and for my purposes that would be ridiculous), porting for me is either zero or trivial effort. So why not?
And if I didn't do it myself, the very nature of open sourcing my code would make it easy and legal for someone else to do the port for me. Witness the Cygnus ports of the GNU tools. Don't tell me Stallman was planning to do Windows ports himself!
-- Div.
But my grandest creation, as history will tell,
Since you seem to be one of the most vocal "let's replace X" advocates in this forum, I find it interesting to see your exact list of complaints with X.
> Doesn't thread
X is merely a protocol, not an implementation. If you don't like XFree86's lack of threading (if that's even true), then buy another server or write your own. If it's actually the client side that bothers you, write your own version of Xlib. I can't see how threading problems would be inherent in the protocol.
> Fonts unscalable.
Rescaling fonts is not the problem; X certainly supports vector fonts like TrueType and PostScript Type 1 through font servers. The real problem is that X forces fonts to be monochrome, which prevents antialiasing.
> Non-GPL
Come on, give it a rest. X is the protocol, damn it. The protocol is a freely implementable public specification. It is no more proprietary than FTP. If you wanted to create an freely available but extended, customized version of FTP (the sort of right that GPL guarantees for code) then you might not have the right to refer to it as "FTP" anymore, but you would still have the right to do it. X is exactly the same way.
If you can't live without antialiased font support and you can't convince the Open Group to adopt your changes, then fork! Take the existing protocol spec, add in provisions for the new feature, and try an implementing your changes based on XFree86 or the Open Group's own reference implementation, both of which are freely extensible.
I'm all for moving to X12 if it means that antialiased font support will be added!
Div.
But my grandest creation, as history will tell,
I remember one of my friends at college was writing an X server for BeOS some years back. It was his first project after he bought his BeBox (yes, a real original one ... we were all so jealous). I don't know if he ever finished it or released it though, or whether it would work with current generations of Be. Check BeWare or do a Web search.
Div.
But my grandest creation, as history will tell,
IRC is not necessarily evil. I recently set up a local (behind the firewall), isolated (not attached to any "network") IRC server for use with my group at work. It functions very nicely, and users have their choice of clients. This does not mean that IRC is the right instant messaging choice for every situation, but at least proves that it can a workable alternative to ntalk.
No messaging service of any sort is immune to spam, porn, and warez abuses. Web forums, Email, Usenet, IRC, Muds, and even BBS's are just as prone to abuse as the newer instant messagers. Thank heavens for moderation on Slashdot! (Actually, thank Rob!)
-- Div.
But my grandest creation, as history will tell,
Toilet paper dispenser advertising "Get Rich Quick!!!!!".
Now we're completely off topic, but has anybody actually tried this? Printing advertisements on toilet paper and then selling it at a lower cost, subsidised by the advertisers? I don't see any real harm in it, and it would be very satisfying to wipe your rear with the ads you didn't like.
Too bad I'm an engineer, not an entrepreneur. :-)
Div.
But my grandest creation, as history will tell,
Give me open protocols and open file formats before open source any day!
I don't mind open source, but I don't ever expect it of other people or companies... the choice is theirs both legally and morally. However, proprietary protocols and file formats are unforgivable.
From a personal viewpoint, I much prefer a well written protocol spec over trying to decypher someone else's spaghetti code. I release my progs as open source simply because I have nothing to gain by keeping them closed, not because I believe that the source is inherently all that useful by itself.
-- Div.
But my grandest creation, as history will tell,