My bad! You're right, I looked much too quickly at the first one, saw the 'const' at the top, and said "Pascal" - if I had looked more closely, I would have noticed the lack of semicolons, and the fact that the second example uses 'const' also.
Not familiar with Pascal? No. While it's been years since I've used Pascal, and I never liked it, the real problem was that I am not familiar with recent versions of Basic, Visual or otherwise (I stopped paying attention back in the GWBasic days).
Actaully, there can be many good and cost-effective reasons to "re-invent the wheel"; especially in large organizations with mandated code reuse policies:
The documentation for the library code is poor or non-existant.
Finding the right library function/module may take longer that writing it yourself.
The library code does substantially more than you need: it is badly factored and tries to be everything for everybody.
The library code is full of bugs.
The team that maintains the library code does not give a shit about you or your project. Your project risks failure if you use their stuff.
The library code or interface is ugly itself, it would force you to unglify your code to put it to use.
Yes, code reuse is good in theory, and should always be at least considered. But reusing bad code is a mistake.
No, what I noticed was that the "Good" code was in well structured Pascal and the "Bad" code was is badly structured Basic. Do I detect a built-in bias??
It doesn't matter. Keeping a domain you have registered is important to maintaining your free speech rights. Trademarks (and other IP) are hostile to free speech, and therefore corporate interests have become hostile to free speech. It doesm't matter how lame a "script kiddie/wannabe admin" this person is, or how annoying his attitude is. What matters is the free hand corporations and scum-sucking lawers have been given to shut him up for random reasons.
People are always ranting on how ordinary users can't handle char-mode interfaces. But I saw plenty of businessmen and secretarial types using MS-DOS, Lotus 123, WordPerfect and TurboTax (remember them?) to get their jobs done just fine, char-mode and all. True, they knew just those commands that they used every day:
C:> d:
D:> cd \docs
D:\docs> wp
and so on, but they could handle char-mode just fine. And, ooh! the power users with their pop-up TSR programs...
It's so annoying how M$ marketing spin puts all the useful work that got done by ordinary users in the old days into a memory hole.
Actually, some text programs would fill an extra 128-byte block at the end of the file with ^Z chars if the file end happened to fall on the block boundary - just to make sure that the ^Z would be read to see the EOF.
I remember dealing with this in detail when I first learned C on CP/M (Aztec C - great product, libc source included). There was simply no way to get proper (Unix) file I/O semantics in CP/M, because it did not know where the file ended, exactly.
The key hurdle, in my mind, is a direct computer interface to the brain. Once we have that, our current clumsy programming tools become obsolete - and we will be able to see by direct comparision of AI code with our own minds what needs to be done.
No. Mutt has excellent attachment support, based on it's excellent mime support. Email attachments (and their nested structure, if any) is shown as a listing at the end of the main message view, and in a seperate (view attachements) page, individually selectable and manipulatable (save, print, view with mailcap entry).
(Example not provided beacuse of the/. lameness filter mangled it.)
To operate on an attachment, move your
cursor to the line in question, and perform the action you wish.
The essence of mutt is that it is totally mime-controlled. You could set it up to do dangerous things (like pop up HTML in Netscape, or worse). But you get to choose, and it won't do these things by default. --
I used Netscape mail for years (Windows and Linux), and never has a virus problem. But Netscape crashed on me too many times when I had nearly finished a multipage letter (or a long post to/.:) ). So, I switched to mutt - which I set up to run Emacs. Result: I get to use my favorite editor, and I never lose my mail during composition. And of course, Mutt has well-integrated crypto support (PGP/GPG).
I get to laugh at viruses/html/javascript mail dangers. Viruses are just another ignorable (except for the size) attachment, and obnoxious HTML mail is converted to text with 'lynx -dump'; which is fine by me. After all, who needs dancing baloney in their mail?
But a charatcter-mode mail reader like mutt, no matter how full-featured, is probably too much for Outlook lusers who are addicted to click-and-drool interfaces... *sigh*. People forget that email is first and formost a text application.
--
This is a policy issue that honest people can differ on. Personally I prefer the GPL in this case, for the same reason I dislike our long-standing goverment policy of allowing logging on public land for a trivial fee. --
Sounds like a "crisis" - just the sort of thing for a big new federal program involving more transfer payments and cushy jobs for goverment insiders. Plus lots of political credit to the "warm and sympaththetic" politicans that freely promise lots and lots of money (our money, grrr) to "solve" the problem.
The 2002 election cycle is getting into gear...
--
Yes. But that requires the target environment to have the full JDK (and not just the JRE) to be present. Of course that's the same issue with using Perl at all, which is why we have never shipped Perl code to clients at my company, even though we use it all the time for in-house projects. --
What I find more problematic is his use of fiberglass as his general building material (capsule, etc.). I am pretty sure the epoxy will catch fire from the air resistance, if nothing else. Also, that peroxide fuel he's using decomposes into hot steam and oxygen. This is better than outright burning fuel, but it still could have pretty nasty effects on the engine and nozzles (high speed corrosion, etc.), if they not made of the right materials...
I do hope he has considered and dealt with these sorts of nit-picky issues. An close-to-full-scale engine test, at least, might be a good idea.
--
Note that "eval" is the essence of dynamism, since it invokes the Perl compiler on a string, which can contain any arbitary perl code, and then runs the result. Java just can't do that in a self-contained fasion.
--
They are the standard way to get the perl runtime to load perl code, just like Java's Class.forName() does (which invokes the Java class loader).
So, if you have a string containing a OO package (class) name, and if all the prospective classes you might load have a method with a common signature for instance creation ('new' is the usual convention), then the following will do it:
my $class = "Some::Perl::Package::Name";
eval "require $class;";
my $obj = $class->new;
"If all you have is a hammer, everything starts looking like a nail."
Another example of a less-than-useful application of math is the absurd idea of building a "proof" for a computer program. Which is totally useless for any real-world program.
--
The most important sex organ you have is your brain. And consider the biblical word/phrase for sex: "to know"... as in "carnal knowledge". It's a deeper concept than "to fuck". (And much more of a turn-on, too.) --
Well, not to excuse the bad behavior of
MP3.com as the previous poster explained
(especially the pattern of poor
disclosure); but clearly this is fallout
from the collapse of 'net advertising
(especially that $20 fee). The basic
MP3 business model is based on people
having a lot of time to stare at and
read the ads while listening to a song
or downloading it. This enabled a
modest payback to the artist, and lots
of choices for the music listener.
For example, I happen to be into Ambient
and related styles, and one of the
largest artists in that genre on MP3.com
is Tom Aragon (he has so many songs
posted, he needs 2 sites to hold them).
About a year ago I took a look at the
his payout stats and calculated that he
was then earning about 200K a year from
MP3.com - not superstardom, but not
chicken feed either. Of course, Tom is
near the top of the curve, others would
earn less. Still, I think is a good
thing that MP3.com made it possible for
independents to make a living wage from
their art without selling out. This
valuable public service is now in
danger.
This $20 fee is especially troublesome,
and I bet it was the cause of contention
within the company. After all, one of
MP3.com's selling points is the large
selection of artists and tracks,
including pretty marginal ones. It
allows for a wide variety of tastes
(there's no accounting for taste), and
also gives a space for experimentation
and mistakes on the artist's part which
are necessary to learning (live
performances in small venues do this
also, but not all kinds of music "work"
or are even possible to do this way -
they are strictly studio art).
This change will tend to shut out the
marginal artists, although MP3.com is
evidently trying to "have their cake and
eat it too" by requiring a payout
fee instead of the more normal concept
of a listing fee.
And who knows how things will go now,
now that they have been bought? Sigh.
--
In fact, they rule so much, I find myself going out of my way to make sure that my source looks nice in Emacs. (In some languages, like PL/SQL, this can be an extra bit of work.) And I am beginning to find monochrome source text looks a little strange. --
Maybe you are saying that if you release something under the GPL it would be subject to all these restrictions, and for that reason, you decide to use another licence (or none at all). Fine. You wrote the code, you get to choose your licence.
But! If you are contemplating using a peice of software written by someone else, and you don't like the licence that comes with it; then too bad. You will just have to find a substitute with a more acceptable licence (or roll your own - have fun). If nothing is availble with a licence/price that you like, then too bad. Deal with it.
As far as that outrageous part about forcing their morality on me I say once again: Bullshit. If you don't use the GPL'd software, then you don't have to deal with the licence. It's a free market, and for GPLed software, the licence is the price for use of the software. Don't want to pay the price? Then don't buy/use the GPLed software.
Who knows? Maybe if you get enough people to agree with you, you can start a boycott.... or something. (I know Brett Glass is ready to join you - he's been flogging this GPL licence issue for a loooonng time now...)
May the best overall price/performance package win...
--
On the other hand, it's strength is also a
weakness, if you want to stay on the bleeding edge
of source trees (as opposed to
bleeding-edge packages). I do not understand the
underlying package format, no do I have the time
to learn (at least, not right now). While there
is a hack available to add pusedo-packages
to the dpkg database (to allow you to provide the
dependencies for those packages that you are
actually compiling from source); it is clumsy to
use, and requires full knowledge of how to
maintain debain packages (I would really prefer to
maintain a simple/etc/* text file containing a
list of manually supplied package dependencies, or
something like that).
The place where this got really annoying for me is
with Perl. Perl is a core part of any Linux
system - there are many non-perl packages that
depend on it one way or another. Perl has it's
own package system in CPAN that is totally
incompatible with any Linux package
management, and is much more fine-grained (usually
Linux distros manage Perl as one or two packages
that contain only core functionality; not the
hundreds of interesting, useful and/or exotic CPAN
offerings available). And Debian has been
ultra-conservative in terms of up-revving Perl
versions - also a real annoyance when I was using
it. (Yes, I am using Red Hat now, but I would be
happy to jump ship again.)
Even better would be a package management
gateway/hook which would allow linking these two
package management systems together in some sort
of relationship, but that's probably too far-out
to ever become reality.
I guess the other alternative would be to say
"Screw this facist package management shit!" and
install Slackware instead.:)
--
Yes, but the usual C idiom is to arrange to interpret 0 and NULL as the proper initial state of a structure - and therefore memset() (or bzero() for you BSD hackers) is the universal constructor.
And 9 time out of 10 that's what you end up doing in C++ anyway, just more slowly.
--
Hey! Those DVD style cases are great! You just take out the useless disk inside (chuck it or turn it into a coaster) turn the paper under the cover plastic upside down to show the white side or take it out, and Viola! Instant high-quality single-cd case (it can take much more of a beating than the brittle plastic of you avarage jewel case). You can't do much about the "500 hours free" sticker on the front, but, what the hey.... --
Not familiar with Pascal? No. While it's been years since I've used Pascal, and I never liked it, the real problem was that I am not familiar with recent versions of Basic, Visual or otherwise (I stopped paying attention back in the GWBasic days).
- The documentation for the library code is poor or non-existant.
- Finding the right library function/module may take longer that writing it yourself.
- The library code does substantially more than you need: it is badly factored and tries to be everything for everybody.
- The library code is full of bugs.
- The team that maintains the library code does not give a shit about you or your project. Your project risks failure if you use their stuff.
- The library code or interface is ugly itself, it would force you to unglify your code to put it to use.
Yes, code reuse is good in theory, and should always be at least considered. But reusing bad code is a mistake.No, what I noticed was that the "Good" code was in well structured Pascal and the "Bad" code was is badly structured Basic. Do I detect a built-in bias??
It doesn't matter. Keeping a domain you have registered is important to maintaining your free speech rights. Trademarks (and other IP) are hostile to free speech, and therefore corporate interests have become hostile to free speech. It doesm't matter how lame a "script kiddie/wannabe admin" this person is, or how annoying his attitude is. What matters is the free hand corporations and scum-sucking lawers have been given to shut him up for random reasons.
People are always ranting on how ordinary users can't handle char-mode interfaces. But I saw plenty of businessmen and secretarial types using MS-DOS, Lotus 123, WordPerfect and TurboTax (remember them?) to get their jobs done just fine, char-mode and all. True, they knew just those commands that they used every day:
C:> d:
D:> cd \docs
D:\docs> wp
and so on, but they could handle char-mode just fine. And, ooh! the power users with their pop-up TSR programs...
It's so annoying how M$ marketing spin puts all the useful work that got done by ordinary users in the old days into a memory hole.
I remember dealing with this in detail when I first learned C on CP/M (Aztec C - great product, libc source included). There was simply no way to get proper (Unix) file I/O semantics in CP/M, because it did not know where the file ended, exactly.
The key hurdle, in my mind, is a direct computer interface to the brain. Once we have that, our current clumsy programming tools become obsolete - and we will be able to see by direct comparision of AI code with our own minds what needs to be done.
Theere is nothing like having the right tools.
--
(Example not provided beacuse of the /. lameness filter mangled it.)
To operate on an attachment, move your cursor to the line in question, and perform the action you wish.
The essence of mutt is that it is totally mime-controlled. You could set it up to do dangerous things (like pop up HTML in Netscape, or worse). But you get to choose, and it won't do these things by default.
--
I get to laugh at viruses/html/javascript mail dangers. Viruses are just another ignorable (except for the size) attachment, and obnoxious HTML mail is converted to text with 'lynx -dump'; which is fine by me. After all, who needs dancing baloney in their mail?
But a charatcter-mode mail reader like mutt, no matter how full-featured, is probably too much for Outlook lusers who are addicted to click-and-drool interfaces... *sigh*. People forget that email is first and formost a text application.
--
I use it whenever I am forced to work in one of Bill's lame OS'es. Not as lightweight as Notepad, but not broken either.
--
This is a policy issue that honest people can differ on. Personally I prefer the GPL in this case, for the same reason I dislike our long-standing goverment policy of allowing logging on public land for a trivial fee.
--
The 2002 election cycle is getting into gear...
--
Yes. But that requires the target environment to have the full JDK (and not just the JRE) to be present. Of course that's the same issue with using Perl at all, which is why we have never shipped Perl code to clients at my company, even though we use it all the time for in-house projects.
--
I do hope he has considered and dealt with these sorts of nit-picky issues. An close-to-full-scale engine test, at least, might be a good idea.
--
Note that "eval" is the essence of dynamism, since it invokes the Perl compiler on a string, which can contain any arbitary perl code, and then runs the result. Java just can't do that in a self-contained fasion.
--
What is so ridiculous about "require" and "use"?
They are the standard way to get the perl runtime to load perl code, just like Java's Class.forName() does (which invokes the Java class loader).
So, if you have a string containing a OO package (class) name, and if all the prospective classes you might load have a method with a common signature for instance creation ('new' is the usual convention), then the following will do it:
my $class = "Some::Perl::Package::Name";
eval "require $class;";
my $obj = $class->new;
Who needs 30 lines???
--
Another example of a less-than-useful application of math is the absurd idea of building a "proof" for a computer program. Which is totally useless for any real-world program.
--
The most important sex organ you have is your brain. And consider the biblical word/phrase for sex: "to know" ... as in "carnal knowledge". It's a deeper concept than "to fuck". (And much more of a turn-on, too.)
--
For example, I happen to be into Ambient and related styles, and one of the largest artists in that genre on MP3.com is Tom Aragon (he has so many songs posted, he needs 2 sites to hold them). About a year ago I took a look at the his payout stats and calculated that he was then earning about 200K a year from MP3.com - not superstardom, but not chicken feed either. Of course, Tom is near the top of the curve, others would earn less. Still, I think is a good thing that MP3.com made it possible for independents to make a living wage from their art without selling out. This valuable public service is now in danger.
This $20 fee is especially troublesome, and I bet it was the cause of contention within the company. After all, one of MP3.com's selling points is the large selection of artists and tracks, including pretty marginal ones. It allows for a wide variety of tastes (there's no accounting for taste), and also gives a space for experimentation and mistakes on the artist's part which are necessary to learning (live performances in small venues do this also, but not all kinds of music "work" or are even possible to do this way - they are strictly studio art). This change will tend to shut out the marginal artists, although MP3.com is evidently trying to "have their cake and eat it too" by requiring a payout fee instead of the more normal concept of a listing fee.
And who knows how things will go now, now that they have been bought? Sigh.
--
In fact, they rule so much, I find myself going out of my way to make sure that my source looks nice in Emacs. (In some languages, like PL/SQL, this can be an extra bit of work.) And I am beginning to find monochrome source text looks a little strange.
--
But! If you are contemplating using a peice of software written by someone else, and you don't like the licence that comes with it; then too bad. You will just have to find a substitute with a more acceptable licence (or roll your own - have fun). If nothing is availble with a licence/price that you like, then too bad. Deal with it.
As far as that outrageous part about forcing their morality on me I say once again: Bullshit. If you don't use the GPL'd software, then you don't have to deal with the licence. It's a free market, and for GPLed software, the licence is the price for use of the software. Don't want to pay the price? Then don't buy/use the GPLed software.
Who knows? Maybe if you get enough people to agree with you, you can start a boycott.... or something. (I know Brett Glass is ready to join you - he's been flogging this GPL licence issue for a loooonng time now...)
May the best overall price/performance package win...
--
On the other hand, it's strength is also a weakness, if you want to stay on the bleeding edge of source trees (as opposed to bleeding-edge packages). I do not understand the underlying package format, no do I have the time to learn (at least, not right now). While there is a hack available to add pusedo-packages to the dpkg database (to allow you to provide the dependencies for those packages that you are actually compiling from source); it is clumsy to use, and requires full knowledge of how to maintain debain packages (I would really prefer to maintain a simple /etc/* text file containing a
list of manually supplied package dependencies, or
something like that).
The place where this got really annoying for me is with Perl. Perl is a core part of any Linux system - there are many non-perl packages that depend on it one way or another. Perl has it's own package system in CPAN that is totally incompatible with any Linux package management, and is much more fine-grained (usually Linux distros manage Perl as one or two packages that contain only core functionality; not the hundreds of interesting, useful and/or exotic CPAN offerings available). And Debian has been ultra-conservative in terms of up-revving Perl versions - also a real annoyance when I was using it. (Yes, I am using Red Hat now, but I would be happy to jump ship again.)
Even better would be a package management gateway/hook which would allow linking these two package management systems together in some sort of relationship, but that's probably too far-out to ever become reality.
I guess the other alternative would be to say "Screw this facist package management shit!" and install Slackware instead. :)
--
And untrustworthy behavior (like restricting important information to an in-group) destroys trust.
After all, how do you feel about ICANN now, despite the highly trustworthy people chosen for the first board??? Sort of iffy, right?
--
And 9 time out of 10 that's what you end up doing in C++ anyway, just more slowly.
--
Hey! Those DVD style cases are great! You just take out the useless disk inside (chuck it or turn it into a coaster) turn the paper under the cover plastic upside down to show the white side or take it out, and Viola! Instant high-quality single-cd case (it can take much more of a beating than the brittle plastic of you avarage jewel case).
You can't do much about the "500 hours free" sticker on the front, but, what the hey....
--