You know, I knew this issue would come out of the woodwork one day; I went to some bother to have a randomized hash compression function for MaraDNS 2.0's recursive resolver (Deadwood).
To protect Deadwood from certain possible denial-of-service
attacks, it is best if Deadwood's prime number used for hashing
elements in the cache is a random 31-bit prime number. The
program RandomPrime.c generates a random prime that is placed in
the file DwRandPrime.h that is regenerated whenever either the
program is compiled or things are cleaned up with make clean.
This program uses/dev/urandom for its entropy; the file
DwRandPrime.h will not be regenerated on systems without/dev/urandom.
[...]
If using a precompiled binary of Deadwood, please ensure that
the system has/dev/urandom support (on Windows system, please
ensure that the file with the name secret.txt is generated by
the included mkSecretTxt.exe program); Deadwood, at runtime,
uses/dev/urandom (secret.txt in Windows) as a hardcoded path to
get entropy (along with the timestamp) for the hash algorithm.
Personally, I think it this is a pretty obvious attack to think of when designing a hash compression function.
Sorry to be completely off-topic, but you once mentioned on Slashdot that you stopped using MaraDNS because Unbound is more snappy for you.
I encourage you to join the MaraDNS mailing list and become an active member of the MaraDNS community. I have been able to get some funding to work on some of MaraDNS' slowdown issues you have complained about.
If you could become a part of the MaraDNS community, you could help us by giving us constructive bug reports where you see MaraDNS 2.0's resolver acting more slowly than Unbound resolver. Indeed, I got reports from over a year ago about Unbound being faster and did fix some bugs which were slowing down its recursive resolution; I closed the bug when MaraDNS was as fast as Unbound on my internet connection.
The most dangerous hole in an unpatched djbdns 1.05 install is the TCP "packet of death" that forces dnscache to restart (since SIGPIPE isn't caught by dnscache). I really should file a CVE for that security problem.
Don't get me wrong, djbdns is an excellent DNS server. Unfortunately, it hasn't been updated for over 10 years and, since then, three different security holes have been discovered the djbdns package, the root server list has been updated, errno has been changed to make Linux more thread safe (requiring a patch to compile it), and so on.
djbdns can work -- but it requires patching by hand or using an unofficial fork like Zinq (which appears to still be supported -- the last release was done this year).
(I can also murmur darkly about the fact that djbdns uses a circular queue instead of a LRU for its cache, its lack of a Windows port, its need to use external helper programs to configure the server, etc., but, then again, its core recursive binary is even smaller than MaraDNS 2.0's tiny recursive binary. And three security bugs in the last decade is better than the 13 security issues in MaraDNS I have had to patch against.)
Let's not forget Unbound, which may be faster than MaraDNS's 2.0 recursive resolver. Then again, I just got some funding from a sponsor to work on speeding things up. Also, Unbound has DNSSEC -- something MaraDNS doesn't have.
And, of course, there is Power DNS, another excellent DNS server.
Then again, there's something to be said for being able to set things up using only a three-line configuration file and a 64k binary works nice for embedded places like OpenWRT where Unbound and PowerDNS won't fit.
Seriously, people here love to talk about how the "new economy" makes it possible to remove "artificial scarcity" and make it so everything is free.
What these people ignore is that, even if it costs no money to copy something, it still costs money to create something. There is still, in this "new economy", the very real economics that the majority of content people use (Computer programs, movies, music, television programs, written articles, etc.) is content that would not exist if someone wasn't being paid to make it.
I enjoy reading all of the articles on the New York Times' front page every morning, and understand I soon may need to pay for the privilege of reading the quality journalism and writing the the NYT offers.
Now, I'm sure someone will point to open source software and say "Mr. MaraDNS, you don't know about open source software and how this proves that we can have all the compelling content we want for free in the 'new economy'". I will point out to people who think like this that I am, in fact, a developer of open-source software.
People who think open-source software (OSS) makes it possible for all content to be free don't understand how OSS changes the relationship between the developer and the user. A lot of people think an OSS program is like a commercial program, but free, and that they can ask for features or get support for free, and it gets pretty tiring to have people email me asking for free support, even though I make it clear that I don't provide free email support for my program.
The thinking behind OSS is that I donate some of my coding time and effort to the greater community. In return, people are free to contribute bug fixes or improvements to the program, or supply support on the mailing list. For example, someone wanted better IPv6 support, supplied patches, and now MaraDNS has good IPv6 support. Another person wanted better Windows service support, and supplied patches to make MaraDNS' new recursive core be a full Windows service. Other people answer user's questions on the mailing list or translate documentation. Webconquest very generously provides me a free Linux shell account and hosting for the web site.
OSS doesn't mean we have the right to demand all content be free or are justified in pirating media and software. OSS means that we can, together, make free content which complements the for-pay content out there.
Putting closure on a software product is important.
Professional software usually has an EOL schedule. For example, RedHat Enterprise Linux and Windows XP both have EOLs for early 2014. This allows people using the software to plan upgrades and know when they need to be making a transition.
This is equally as important for open-source software. It looks really bad when this is not done. For example, Dan Bernstein's DjbDNS software package has three unpatched security holes. People using this software have to know about these holes and apply third-party patches.
I think the Apache foundation should either say "OK, we'll still fix security bugs on this program" or "We're no longer maintaining this release". This way, the users of these programs know whether to upgrade, form their own group applying security patches, or just know they're OK from a security prospective if they're current.
A lot of open-source projects just languish when the developers lose interest; I feel this is irresponsible and feel EOL dates and putting closure is important.
I can also write my own apps for it in Delphi7 (Delphi does not work on Linux)
If you're an old-school Delphi programmer, you might look in to Lazarus. It's 95% Delphi, but FOSS software.
While I'm mainly a C programmer these days, I've quite impressed with Delphi: There is an excellent tiny little Civilization clone, C-evo, out there written in Delphi (that fits on a single floppy if you remove the sounds and 7-zip compress it), as well as a free (beer) office suite called SSuiteSoft.
Hey, aren't you the guy who predicted back in 2001 that "I don't see many sales in the future of iPod". Based on your prediction history, I'm sure Win+L will work like a charm in Windows 7.
I like the way you prioritize, but I'm not sure your girlfriend would agree:P
Looking for a girlfriend means meeting girls on dating sites and flirting with them on MSN while I'm bored at work. Having a girlfriend means working on geek projects while I'm bored at work and my girlfriend isn't online. I don't think she would appreciate me flirting with other girls.:)
For single Slashdot geeks: I found her at Tagged playing a flirting game called "Meet me", getting MSN emails from girls who expressed interest, then getting to know girls on MSN until I got their phone number, and finally meeting them in real life and dating them until I got one who I had real good chemistry with. It was about eight months of work.
You know, Duke Nukem Forever is probably the most well-known vaporware software project out there, but it certainly isn't the only one.
Free/open-source software has a lot of these. As an open-source developer myself, I can understand why. One issue is that a lot of open-source projects are started by young naive people who do not realize how much time and effort it really takes to make a software program. Probably over half of the projects on Sourceforge fall under this category. One example is MooDNS, a DNS server that stopped development around the time the developer realized what a pain in the butt DNS compression is.
Another way open-source projects get abandoned is when other software that does the same thing comes along. For example, the GNU Hurd never became production-ready because Linux came along and was good enough that the perceived need for Hurd development went away.
Other projects that stop development are projects where the developers stop going to school and get real jobs, and no longer have time to devote to an open-source project. One example of this is the Y Window System
For all of the advantages of Free software, one issue is that, without, by and large, the developers being paid money, there is not nearly as much motivation to get something finished, so a lot of projects become vaporware.
Closer to home, I've told myself for years I would have a thread-free version of a recursive resolver for my own MaraDNS. I finally started writing the code in late 2007. Around the end of 2007, I had a working basic non-recursive cache. The project was put on hold in 2008 while I got out of the Slashdot-posting basement and looked for a girlfriend. I finally got one around the end of 2008, and was able to spend 2009 adding a lot of features to the code, making a lot of releases of the code.
Well, around September of 2009, I got burnt out. Too much work for too little (almost no) pay. I stopped doing major development on the recursive code at that point, but have a really nice non-recursive cache with most of the foundation needed to make it a recursive cache. I do want to get back in to the project; but it's a lot of work and having a few thank you emails doesn't feel like enough compensation at times, especially when the other half of the emails are people asking me to implement their favorite pet feature for fun and for free, or asking for free email support. I finally put a plug on that nonsense by making it extremely clear that I only answer private email for people willing to pay me. Here are some of my rants I blogged about. I do get the occasional "you made this nice DNS server, we would like to hire you" email, but haven't gotten a job from that yet.
I do want to finish up the recursive code, and put closure on my DNS server project, but I just haven't gotten myself in the "develop free software" mindset again.
Maybe it's time to stop goofing around on Slashdot and finish up the code.:)
Actually, the issue is that the FSF still hasn't solved the "how can developers eat and pay rent" problem. Free means free (it is, if you will, a subset of "free") and, well, that doesn't pay my bills.
Then again, I have gotten some money for offering "service and support", not nearly enough to pay the rent, but slightly better than nothing. I mainly use a "pay me for support" model to give annoying users "invoice therapy": If you want to be treated like a customer, you must first become a customer by paying me. You would be amazed at the number of idiots out there who think Free means "Implement the features I want or answer my email without getting paid for your time and work".
While I don't use adblock per se, I do use a combination of Firefox's advanced option to disable animated gifs (actually, to have them animate only once) as well as flashblock so I don't have to see animated flash ads.
The reason I do this is because I'm used to reading books; books do not have anything that animates in them, and anything that animates or continuously moves is very distracting for me when I am reading something. I don't mind ads with bright, flashy colors; magazines have had those since the beginning of time [1], but I can't read a page when I see something animated; it's as annoying as having a fly.
As an aside, I remember in the early 2000s when Slashdot was very much against having animated flash ads. Now, they're very common here. I hope, now that the economy is picking up again, that Slashdot will go back to not having animated ads that I have to block. Also, it would be really nice if Adobe gave flash an option where a flash document would never animate until you clicked on it.
[1] The air conditioner was invented so color printing presses used by advertisers would not have the ink run.
My favorite Unix environment for Windows (that, yes, has Bash) is MSYS, which is a lightweight 3 megabyte one-click install of the essentials for a Unix system. No, it doesn't have Perl. Nor Python. But, it does have Awk (via Gawk), which can do the essentials.
Speaking of Civ...what's your favorite Civ variant. Right now, I'm having a lot of fun with the open-source [1] C-evo. It's a tiny Civ clone; the base game is 1.4megs 7zip compressed (without sound). Yes, this game fits on a single floppy. You'll need a second floppy disk to fit the sounds (about 900k).
[1] The game is public domain with source code available, but the game is written in the proprietary language Delphi. No, it won't compile in Lazarus without work done on it; we've tried.
A cool abstract open-source game: Cultivation
on
Review: Eufloria
·
· Score: 2, Informative
For people who like abstract open-source games, Cultivation is a very interesting tiny (400k, 300k 7-zip compressed) game. You need to grow a garden, mate, and have children to win the game.
Does anyone have any information about whether this particular release will become RHEL 6? While I am happy with RHEL (CentOS, actually) 5, it doesn't work with my 2007-era laptop's hardware. The Wiki page claims it does, but the reference backing it up is a 2008 article speculating on RHEL's future.
The problems described in the article: Having it so it's not completely obvious a group is moderated, having a choice of either moderation of every post or no ability to control spammers, flamers, and trolls, and no protection against forged moderation sound like issues caused because Google groups tries too much to be like Usenet.
Usenet was a very good idea in the 1980s and early 1990s, before the internet became anonymous and spammers started moving in. My favorite thing about Usenet is that it's easy to read it offline (Google "Leafnode") for people who do not have a continuous connection to the internet--this was the norm in the UUCP-dominated 1980s, when just about nobody had a direct internet connection.
I recently posted a blog about the death of Usenet:
Over at The Chess Variants page, there used to be a rather prolific inventor named Ralph Betza. Not only was he a very strong Chess player (FIDE master), he also invented dozens of chess variants and was the first person to come up with a lot of innovative Chess Variant pieces.
We haven't heard from him in years. We don't know whether he is alive or dead. It would have been nice if there was some way for his family to inform us who only knew him through the internet about his (possible) death.
Also, as the primary maintainer of an open-source project, I have just given my family the email address of my webmaster so that they can let him know just in case I have an untimely death (no, I have no plans to die; I plan on soon getting married to my fiancée and staying married to her for many decades), in addition to a link to Facebook's deceased form.
This way, should the unspeakable happen and I die, people know about it right away and can figure out who will become the maintainer of my open-source project.
Again, not to confuse this discussion with facts, but MySpace 2.0 is quite attractive and has a nice Web 2.0 CSS look to it. The problem is that users have to opt-in to MySpace 2.0, and a lot of users still have pages with a MySpace 1.0 (tables, no CSS, Netscape 4 compatible, dot-com era website design) look to it.
Not to confuse this discussion with facts, but about two years ago MySpace introduced MySpace 2.0, which uses a lot of CSS and allows MySpace pages to be quite attractive. I actually find my MySpace page more attractive than my Facebook page, but I have a thing for earth tones.
Yes, MaraDNS supports IPv6. There are some hoops you need to jump through to do it, but it's there and it works depending on what you use MaraDNS for.
The best place for MaraDNS support is on the MaraDNS mailing list. To join the mailing list, send an email to list-request {at symbol thingy} maradns.org with the word "subscribe" in the subject and body of the message.
If you want to discuss MaraDNS IPv6 support further, or have more questions, please continue this discussion on the mailing list.
This is why MaraDNS (my open-source DNS server) uses a special zone file format.
MaraDNS uses a zone file format that, for the most part, resembles BIND zone files. However, the zone file format has some minor differences so the common "Forgot to put a dot at the end of a hostname" and the "forgot to update the SOA serial number" problems do not happen; a domain name without a dot at the end in a syntax error in MaraDNS' zone file parser; if you want to end a hostname with the name of the zone in question, this has to be explicitly specified with a.% at the end of the hostname.
There is also a mechanism for automatically generating SOA records, or having a SOA record where the serial is automatically updated based on the "last write" timestamp for the zone file.
For people who want to use their BIND zonefiles, there is included a Python script that converts a BIND zonefile in to MaraDNS' similar zone file format.
An interesting point: This research is being done in China, not the United States. Whatever happened to basic research being done in the US? Today's PARC laboratory is not in the US, but appears is in China.
This is not a good thing for people who live in the US. America's increasing dependence on outsourcing is destroying the US' capability to be competitive in today's environment.
The Harvard Business Review has an excellent article about how America is destorying its own future.
You know, I knew this issue would come out of the woodwork one day; I went to some bother to have a randomized hash compression function for MaraDNS 2.0's recursive resolver (Deadwood).
From the relevant man page (this part was last updated in September of 2010):
Personally, I think it this is a pretty obvious attack to think of when designing a hash compression function.
Sorry to be completely off-topic, but you once mentioned on Slashdot that you stopped using MaraDNS because Unbound is more snappy for you.
I encourage you to join the MaraDNS mailing list and become an active member of the MaraDNS community. I have been able to get some funding to work on some of MaraDNS' slowdown issues you have complained about.
If you could become a part of the MaraDNS community, you could help us by giving us constructive bug reports where you see MaraDNS 2.0's resolver acting more slowly than Unbound resolver. Indeed, I got reports from over a year ago about Unbound being faster and did fix some bugs which were slowing down its recursive resolution; I closed the bug when MaraDNS was as fast as Unbound on my internet connection.
- Sam
Your information is out of date; I completely, from scratch, rewrote the recursive code of MaraDNS starting four years ago with far cleaner code.
That code was declared stable over a year ago and looking at its source code won't make you blind.
- Sam
Please stop spreading FUD. There have been 0 remote security holes discovered in djbdns.
Please lay off the crack, wake up, and smell the coffee. This kind of denial is flat-out dangerous.
I have a blog entry detailing the three security holes in djbdns and DJB paid the $500 security hole prize for djbdns years ago.
The most dangerous hole in an unpatched djbdns 1.05 install is the TCP "packet of death" that forces dnscache to restart (since SIGPIPE isn't caught by dnscache). I really should file a CVE for that security problem.
There is also CVE-2008-4392 as well as CVE-2009-0858; more information is in Debian's security page on djbdns.
Don't get me wrong, djbdns is an excellent DNS server. Unfortunately, it hasn't been updated for over 10 years and, since then, three different security holes have been discovered the djbdns package, the root server list has been updated, errno has been changed to make Linux more thread safe (requiring a patch to compile it), and so on.
djbdns can work -- but it requires patching by hand or using an unofficial fork like Zinq (which appears to still be supported -- the last release was done this year).
(I can also murmur darkly about the fact that djbdns uses a circular queue instead of a LRU for its cache, its lack of a Windows port, its need to use external helper programs to configure the server, etc., but, then again, its core recursive binary is even smaller than MaraDNS 2.0's tiny recursive binary. And three security bugs in the last decade is better than the 13 security issues in MaraDNS I have had to patch against.)
And, of course, there is Power DNS, another excellent DNS server.
Then again, there's something to be said for being able to set things up using only a three-line configuration file and a 64k binary works nice for embedded places like OpenWRT where Unbound and PowerDNS won't fit.
- Sam
Mod parent up! :)
Seriously, people here love to talk about how the "new economy" makes it possible to remove "artificial scarcity" and make it so everything is free.
What these people ignore is that, even if it costs no money to copy something, it still costs money to create something. There is still, in this "new economy", the very real economics that the majority of content people use (Computer programs, movies, music, television programs, written articles, etc.) is content that would not exist if someone wasn't being paid to make it.
I enjoy reading all of the articles on the New York Times' front page every morning, and understand I soon may need to pay for the privilege of reading the quality journalism and writing the the NYT offers.
Now, I'm sure someone will point to open source software and say "Mr. MaraDNS, you don't know about open source software and how this proves that we can have all the compelling content we want for free in the 'new economy'". I will point out to people who think like this that I am, in fact, a developer of open-source software.
People who think open-source software (OSS) makes it possible for all content to be free don't understand how OSS changes the relationship between the developer and the user. A lot of people think an OSS program is like a commercial program, but free, and that they can ask for features or get support for free, and it gets pretty tiring to have people email me asking for free support, even though I make it clear that I don't provide free email support for my program.
The thinking behind OSS is that I donate some of my coding time and effort to the greater community. In return, people are free to contribute bug fixes or improvements to the program, or supply support on the mailing list. For example, someone wanted better IPv6 support, supplied patches, and now MaraDNS has good IPv6 support. Another person wanted better Windows service support, and supplied patches to make MaraDNS' new recursive core be a full Windows service. Other people answer user's questions on the mailing list or translate documentation. Webconquest very generously provides me a free Linux shell account and hosting for the web site.
Likewise, I found an OSS Doom random generator I liked and provided bug fixes and improvements to it; when I lost interest in it, another person became the maintainer and improvements continue to be made even though I no longer work on that code. And, there is a Free Windows Civilization clone for Windows which I have provided a bug fix and extended the documentation with.
OSS doesn't mean we have the right to demand all content be free or are justified in pirating media and software. OSS means that we can, together, make free content which complements the for-pay content out there.
Putting closure on a software product is important.
Professional software usually has an EOL schedule. For example, RedHat Enterprise Linux and Windows XP both have EOLs for early 2014. This allows people using the software to plan upgrades and know when they need to be making a transition.
This is equally as important for open-source software. It looks really bad when this is not done. For example, Dan Bernstein's DjbDNS software package has three unpatched security holes. People using this software have to know about these holes and apply third-party patches.
In addition, when the maker of an open-source program says "OK, I'm done with this program.", it allows maintainers to step forward and take over the project. For example, when I announced I would no longer work on a Doom random map generator I had been hacking on for a while, someone expressed interest in maintaining the software, and subsequent updates have since been done.
I think the Apache foundation should either say "OK, we'll still fix security bugs on this program" or "We're no longer maintaining this release". This way, the users of these programs know whether to upgrade, form their own group applying security patches, or just know they're OK from a security prospective if they're current.
I have blogged about putting closure on open-source projects and have well defined EOL dates for older releases of my own MaraDNS.
A lot of open-source projects just languish when the developers lose interest; I feel this is irresponsible and feel EOL dates and putting closure is important.
Opera/Firefox (whichever has a newer version that still supports 98)
That would be Opera. Firefox, as of Firefox 3, no longer supports Windows 98 (this caused a lot of grumbling on Firefox's support forums), but the latest Opera happily runs on Windows 98.
I can also write my own apps for it in Delphi7 (Delphi does not work on Linux)
If you're an old-school Delphi programmer, you might look in to Lazarus. It's 95% Delphi, but FOSS software.
While I'm mainly a C programmer these days, I've quite impressed with Delphi: There is an excellent tiny little Civilization clone, C-evo, out there written in Delphi (that fits on a single floppy if you remove the sounds and 7-zip compress it), as well as a free (beer) office suite called SSuiteSoft.
Hey, aren't you the guy who predicted back in 2001 that "I don't see many sales in the future of iPod". Based on your prediction history, I'm sure Win+L will work like a charm in Windows 7.
I like the way you prioritize, but I'm not sure your girlfriend would agree :P
Looking for a girlfriend means meeting girls on dating sites and flirting with them on MSN while I'm bored at work. Having a girlfriend means working on geek projects while I'm bored at work and my girlfriend isn't online. I don't think she would appreciate me flirting with other girls. :)
For single Slashdot geeks: I found her at Tagged playing a flirting game called "Meet me", getting MSN emails from girls who expressed interest, then getting to know girls on MSN until I got their phone number, and finally meeting them in real life and dating them until I got one who I had real good chemistry with. It was about eight months of work.
Free/open-source software has a lot of these. As an open-source developer myself, I can understand why. One issue is that a lot of open-source projects are started by young naive people who do not realize how much time and effort it really takes to make a software program. Probably over half of the projects on Sourceforge fall under this category. One example is MooDNS, a DNS server that stopped development around the time the developer realized what a pain in the butt DNS compression is.
Another way open-source projects get abandoned is when other software that does the same thing comes along. For example, the GNU Hurd never became production-ready because Linux came along and was good enough that the perceived need for Hurd development went away.
Other projects that stop development are projects where the developers stop going to school and get real jobs, and no longer have time to devote to an open-source project. One example of this is the Y Window System
For all of the advantages of Free software, one issue is that, without, by and large, the developers being paid money, there is not nearly as much motivation to get something finished, so a lot of projects become vaporware.
Closer to home, I've told myself for years I would have a thread-free version of a recursive resolver for my own MaraDNS. I finally started writing the code in late 2007. Around the end of 2007, I had a working basic non-recursive cache. The project was put on hold in 2008 while I got out of the Slashdot-posting basement and looked for a girlfriend. I finally got one around the end of 2008, and was able to spend 2009 adding a lot of features to the code, making a lot of releases of the code.
Well, around September of 2009, I got burnt out. Too much work for too little (almost no) pay. I stopped doing major development on the recursive code at that point, but have a really nice non-recursive cache with most of the foundation needed to make it a recursive cache. I do want to get back in to the project; but it's a lot of work and having a few thank you emails doesn't feel like enough compensation at times, especially when the other half of the emails are people asking me to implement their favorite pet feature for fun and for free, or asking for free email support. I finally put a plug on that nonsense by making it extremely clear that I only answer private email for people willing to pay me. Here are some of my rants I blogged about. I do get the occasional "you made this nice DNS server, we would like to hire you" email, but haven't gotten a job from that yet.
I do want to finish up the recursive code, and put closure on my DNS server project, but I just haven't gotten myself in the "develop free software" mindset again.
Maybe it's time to stop goofing around on Slashdot and finish up the code. :)
Actually, the issue is that the FSF still hasn't solved the "how can developers eat and pay rent" problem. Free means free (it is, if you will, a subset of "free") and, well, that doesn't pay my bills.
Then again, I have gotten some money for offering "service and support", not nearly enough to pay the rent, but slightly better than nothing. I mainly use a "pay me for support" model to give annoying users "invoice therapy": If you want to be treated like a customer, you must first become a customer by paying me. You would be amazed at the number of idiots out there who think Free means "Implement the features I want or answer my email without getting paid for your time and work".
While I don't use adblock per se, I do use a combination of Firefox's advanced option to disable animated gifs (actually, to have them animate only once) as well as flashblock so I don't have to see animated flash ads.
The reason I do this is because I'm used to reading books; books do not have anything that animates in them, and anything that animates or continuously moves is very distracting for me when I am reading something. I don't mind ads with bright, flashy colors; magazines have had those since the beginning of time [1], but I can't read a page when I see something animated; it's as annoying as having a fly.
As an aside, I remember in the early 2000s when Slashdot was very much against having animated flash ads. Now, they're very common here. I hope, now that the economy is picking up again, that Slashdot will go back to not having animated ads that I have to block. Also, it would be really nice if Adobe gave flash an option where a flash document would never animate until you clicked on it.
[1] The air conditioner was invented so color printing presses used by advertisers would not have the ink run.
My favorite Unix environment for Windows (that, yes, has Bash) is MSYS, which is a lightweight 3 megabyte one-click install of the essentials for a Unix system. No, it doesn't have Perl. Nor Python. But, it does have Awk (via Gawk), which can do the essentials.
Speaking of Civ...what's your favorite Civ variant. Right now, I'm having a lot of fun with the open-source [1] C-evo. It's a tiny Civ clone; the base game is 1.4megs 7zip compressed (without sound). Yes, this game fits on a single floppy. You'll need a second floppy disk to fit the sounds (about 900k). [1] The game is public domain with source code available, but the game is written in the proprietary language Delphi. No, it won't compile in Lazarus without work done on it; we've tried.
For people who like abstract open-source games, Cultivation is a very interesting tiny (400k, 300k 7-zip compressed) game. You need to grow a garden, mate, and have children to win the game.
Does anyone have any information about whether this particular release will become RHEL 6? While I am happy with RHEL (CentOS, actually) 5, it doesn't work with my 2007-era laptop's hardware. The Wiki page claims it does, but the reference backing it up is a 2008 article speculating on RHEL's future.
The problems described in the article: Having it so it's not completely obvious a group is moderated, having a choice of either moderation of every post or no ability to control spammers, flamers, and trolls, and no protection against forged moderation sound like issues caused because Google groups tries too much to be like Usenet.
Usenet was a very good idea in the 1980s and early 1990s, before the internet became anonymous and spammers started moving in. My favorite thing about Usenet is that it's easy to read it offline (Google "Leafnode") for people who do not have a continuous connection to the internet--this was the norm in the UUCP-dominated 1980s, when just about nobody had a direct internet connection.
I recently posted a blog about the death of Usenet:
http://maradns.blogspot.com/2009/07/memories-of-usenet.html
Over at The Chess Variants page, there used to be a rather prolific inventor named Ralph Betza. Not only was he a very strong Chess player (FIDE master), he also invented dozens of chess variants and was the first person to come up with a lot of innovative Chess Variant pieces.
We haven't heard from him in years. We don't know whether he is alive or dead. It would have been nice if there was some way for his family to inform us who only knew him through the internet about his (possible) death.
Also, as the primary maintainer of an open-source project, I have just given my family the email address of my webmaster so that they can let him know just in case I have an untimely death (no, I have no plans to die; I plan on soon getting married to my fiancée and staying married to her for many decades), in addition to a link to Facebook's deceased form.
This way, should the unspeakable happen and I die, people know about it right away and can figure out who will become the maintainer of my open-source project.
Again, not to confuse this discussion with facts, but MySpace 2.0 is quite attractive and has a nice Web 2.0 CSS look to it. The problem is that users have to opt-in to MySpace 2.0, and a lot of users still have pages with a MySpace 1.0 (tables, no CSS, Netscape 4 compatible, dot-com era website design) look to it.
Not to confuse this discussion with facts, but about two years ago MySpace introduced MySpace 2.0, which uses a lot of CSS and allows MySpace pages to be quite attractive. I actually find my MySpace page more attractive than my Facebook page, but I have a thing for earth tones.
Yes, MaraDNS supports IPv6. There are some hoops you need to jump through to do it, but it's there and it works depending on what you use MaraDNS for.
The best place for MaraDNS support is on the MaraDNS mailing list. To join the mailing list, send an email to list-request {at symbol thingy} maradns.org with the word "subscribe" in the subject and body of the message.
If you want to discuss MaraDNS IPv6 support further, or have more questions, please continue this discussion on the mailing list.
This is why MaraDNS (my open-source DNS server) uses a special zone file format.
MaraDNS uses a zone file format that, for the most part, resembles BIND zone files. However, the zone file format has some minor differences so the common "Forgot to put a dot at the end of a hostname" and the "forgot to update the SOA serial number" problems do not happen; a domain name without a dot at the end in a syntax error in MaraDNS' zone file parser; if you want to end a hostname with the name of the zone in question, this has to be explicitly specified with a .% at the end of the hostname.
There is also a mechanism for automatically generating SOA records, or having a SOA record where the serial is automatically updated based on the "last write" timestamp for the zone file.
For people who want to use their BIND zonefiles, there is included a Python script that converts a BIND zonefile in to MaraDNS' similar zone file format.
An interesting point: This research is being done in China, not the United States. Whatever happened to basic research being done in the US? Today's PARC laboratory is not in the US, but appears is in China.
This is not a good thing for people who live in the US. America's increasing dependence on outsourcing is destroying the US' capability to be competitive in today's environment.
The Harvard Business Review has an excellent article about how America is destorying its own future.