I'm also working on a temporal-spatial feature-oriented library and application suite to support USGS research. Once it's mature it'll also be released as OSS.
That way not only do you get an error message, you get a tip to the
source file and line number where the error occured.
Certainly it's not helpful to the end user, but it does make it easier
for the obsessive-compulsive programmers to find and fix the error on
their own.
Prioritizing efficiency
on
Why not Ruby?
·
· Score: 1
Interpreted code isn't as efficient speed-wise as compiled code, so making run-time efficiency a significant language evaluation criteria is a mistake. What's critical is programming-time efficiency. If linguistic constructs reduce a human's learning and coding time at the sacrifice of negligible performance penalties, then those linguistic constructs are worthwhile.
If run-time efficiency is so damned critical, where even the insignificant performance penalties of member overloading are so costly, then a compiled language would be best suited for implementation.
The commentary regarding variable punctuation is in the same league as negative criticism of python's indentation scoping mechanism, which some deemed as being fascist. Fortunately these coding pedants seem to be a vocal minority; hopefully the variable punctuation critics are a mere permutation of the same species.
I remember Faster-than-Light BBS, run by Robert "Spencer" Vostreys. FTL was up from the 80s until '96, and was one of the more popular Atlanta area BBSes.
I really miss the forums, especially the old inet ones. I was actually hoping the the textfiles site would have more archived messages as I'd hoped to find some old FTL messages.
For example, there might be a claim specifying that the speaker cone angle is between 40 and 45 degrees, and that the
speaker magnet is made of an alloy of iron and nickel, in which nickel makes up at least 5% of the alloy by weight (clearly
I am just making this up, and I don't know anything about speaker cones, magnets or metallurgy). In order for the claim to
be allowed by the Patent Office, a patent examiner must be unable to find an example of a speaker with a cone of the
claimed shape
and with a magnet of the claimed type. To infringe that claim, a speaker must have both these claim
elements. Any speaker with both elements is an infringing device, and any speaker without both elements is (probably)
not an infringing device.
(Emphasis added is mine.)
So it is NOT OR; it's AND.
Furthermore, you should probably best refer to the USPTO as a canonical reference and not a/. article.
It can be hard to get used to Hungarian, but I don't know anybody who has gotten used to it who was able to stop using it.
Hungarian Notation is good for rendering source code into obsfucating noise. I like the heuristic that names should be pronounceable, and be just lengthy enough to convey most of the semantics that that name represents.
coldsync, a Palm Pilot synching utility, has the cleanest code I've ever seen. The design is well thought out. The source is extremely well commented. It also has a lot of documentation, which has the bonus of being informative, comprehensive, and otherwise very well written. It also has some good "meta-level" documentation; e.g., the top-level "HACKING" file, which gives some basic pointers for those wishing to, well, hack the hell out of the thing.
In other words, this application should prove to be an excellent programming how-to reference for wannabe hackers. Also, pay attention to the bibliography on coldsync's web site; there's some damn good stuff there.
(Yes, that's right: an application with a bibliography. How cool is that?)
Source code shows only how you accomplish your task; it is only through comments (and meaningful naming conventions) that you convey anything about
its purpose.
Another way to look at this is that source code is intended for two audiences. The first is obviously the compiler itself, which equally obviously cares not a whit about commentary, names, and formatting. The second audience are the human beings that are going to be looking at that code. These humans can be anyone from the original author to a maintainer; and, each of them has their respective level of programming (in)competence.
A lot of effort should go into appeasing the second audience. The relevent expression is "computer time is cheap, human time is expensive." A good programmer will insure that there's enough commentary for others to understand why they did what they did. And, for that matter, even for themselves; it's amazing how much you can forget after several months spent on other projects.
Unfortunately, there are many concepts that cannot be expressed in C
Yes, but none of those concepts are programming concepts.
This doesn't scan. What do you mean by "programming concept?"
The original point is valid. C, or any other programming language, has limited ability to convey semantic intent to a human being. It is up to the human to insure that there are sufficient commentary to explain why the code is the way it is.
I, too, have had my share of high school horror. One egregious example that comes to mind: I was nearly thrown off a second story balcony by a couple thugs. I also experienced the usual barrage of verbal and physical abuse. No wonder I was a misanthrope seething under a cold, calm exterior.
And yet I see many similar testimonies; and we all know that for every story there are dozens of similar tales that we don't know about. Such abuse is rampant and a "normal" teen-age experience for anyone that was a nerd, geek, goth, gay, or anyone else on "the fringe." I've been thinking of Stephen Pinker's take on evolutionary psychology and thought that, since this type of miscreant behavior happens so often, that maybe this is a kind of "culling the herd" behavior that's evolved over time.
The word "schadenfreude" means "happiness from someone else's misfortune." I wonder if, collectively, we go after people that are "too successful" as their progeny may out-compete ours; we are "happy" if these successful people experience "misfortune."
So the "herd" wants to get rid of "the weak," and also wants to insure that some individuals aren't "too successful". I.e., these are folks sitting on the fringe.
Nerds, geeks, or whatever, are unlucky enough to be physically weak are are also generally brilliant. This double wammy may really push that "cull the herd" instinct in those who more comfortably sit on top of the bell curve.
Of course I'm just pulling this out of my ass, but I thought to share it anyway for possible discussion.
This would be a convenient excuse for a person who did not believe in open-source. Therefore, it is worthless.
I
also am friends with the webmaster in question. I know that he has personally written several open-source applications. They're even on freshmeat. So, he does believe in open-source; and therefore your comment is worthless.
Hell I was wondering why they didn't use an ES instead of a GA! After all, they're clearly permuting real-value numbers, so why not have a genotype that reflects that?
I have heard little on the Beowulf front concerning Genetic algorithms.
They do exist in a variety of implementations. What you refer to is the "island model" for evolutionary algorithms, of which there are many variations on the theme. Another use for parallel architectures is for mitigating computationally expensive operations, which typically are the individual fitness calculations.
Here is an example of a Beowulf cluster being used for genetic programming.
Engineers use GAs to a significant degree, it's true.
Patently false.
Though using evolutionary computation to solve engineering problems have been around since Dr. Schwefel and his crowd used evolutionary strategies to optimize jet engine designs in the '60s, they are surprisingly not used that often by any of the engineering disciplines.
The reason? It's a lot easier to use a GA than to come up with an intelligent solution.
This is blatant flamebait.
First, evolutionary algorithms, of which GAs are a mere subset, can (and often) converge on very intelligent solutions. The article is a perfect example of an evolutionary algorithm coming up with a sound solution. Second, there are some problems that are very difficult to articulate using an evolutionary algorithm. For example it's not easy to map, say, a circuit design, which can be composed of arbitrary components linked in arbitrary ways, to a genome. What do the genes represent? Do you use variable length genomes? What effect will the genomic representation have on mutation and crossover operators? What trade-offs have you made by the operators you finally decide to use?
Genetic algorithms are, when you boil it down, a randomized search with a heuristic.
Again, false.
Evolutionary algorithms are indeed stochastically driven searches, but they leverage off information sharing between individuals. That is, they employ so called "building blocks" that Holland and Goldburg discuss using schema theory. Though schema theory is only directly relevent to GAs, since they deal with binary representations, the same notion holds for the other types of evolutionary algorithms. "Genes" that correspond to a good idea generally are propogated to their progeny.
Being randomized, you're not sure if you have the best answer. Their use usually doesn't even make solving problems that much faster.
Again, false.
There exist some test problems for which we know a priori the optimal solution and for which EAs have been exercised against. The most famous of which is the "De Jong test suite" which poses a number of problem spaces for EAs. Generally, the EAs find the optimal solution; the speed and efficacy being, naturally, dependent on certain run-time characteristics. E.g., mutation rate, cross-over points (if cross-over is used at all), etc.
Sure, there are other machine learning techniques for solving the same problems. But the point here is refuting your claim that "since they're randomly generated, you're not guaranteed an optimal solution" which is just plain wrong. If there exist optimal solutions, GAs can find them. Moreover, other machine learning techniques may have just as difficult a time as finding good solutions; for example the problem space may be infinite and/or overly complex so that regardless of the algorithm used, you're not guaranteed that you've gotten the best. This notion is called the "no such thing as a free lunch" theorem and was, if I recall correctly, proposed by Goldburg, et al. Though you may come up with an algorithm that beats the pants off of other algorithms for a specific problem, it likely won't be as good against other algorithms for other problems; and even for that specific problem, you're not guaranteed that somebody the next day won't dream up yet another algorithm that beats the snot out of yours.
Please get your damn "facts" straight before posting on subjects that you know damn little about. Here's an online resource. Go read it.
I just posted this to a Courtney Love message board and felt it might be relevent in this forum.
And so:
I must confess I had ambivalencies about Courtney. I'm impressed by her acting and like her music; but some of the live concert stuff could get a bit over the top.
All that changed when I read her Salon article.
Here was a compassionate and erudite voice that hit the proverbial nail on the head. She is absolutely correct -- the RIAA and the greedy companies they represent daily rape their indentured servants who squirm under their thumb. They whine about lost profits while shoveling ever increasing profits into their coffers. Fortunately more are becoming enlightened to this apparent hypocrisy. You go, grrl.
As an aside, the RIAA's evil twin, the MPAA, is doing the same thing with regards to DVDs. They cry that DeCSS, which is software that bypasses DVD encryption, will hemorrhage their profits as alleged legions of pirates freely swap films siphoned from their discs. This is, of course, so much steaming bovine feces.
The issue there is a variation on the RIAA theme. It's all about control, boys and girls. There's no piracy of DVD films. None. Zippo. Nada. First, blank CDs are more expensive than just buying the damned originals. (Courtesy of a "tax" to recoup alleged losses due to piracy. Guess what? You pay the same kind of "tax" on all blank cassettes. Yes, it pissed me off, too.) Second, blanks have certain sectors over-written to prevent bitwise copies. No, the real issue is that the MPAA and the DVD consortium wants to insure that you buy a DVD player that's been manufactured by a company that's agreed to pay their usurious licensing fees. If any ole DVD player that doesn't have the right codecs can read their DVDs, then who needs to pay Da Man?
And then there's radio.
I live near Washington, D.C. The radio landscape here makes the Gobi seem a verdant, tropical paradise by comparison. It's bleak. And it's a god damned shame that this is our capital, and I can get naught but the same crap from station to station. I can't count the times I've skipped through channels to hear the same tunes. It's all homogenized shite some algorithm on a corporate computer somewhere decided that a certain demographic wanted to hear. Play lists are digested by a data mining program, tune fitness weights are adjusted based on popularity and air times, and new play lists are disgorged to corporate affiliates around the country. And since people only hear what the stations want them to hear, they miss out on glorious music that might be happening just down the street. They perpetuate this insipid feedback by requesting from only those tunes they hear. And so the magic music shite circle spins again.
I miss WRAS, Album 88, which is a college radio station in Atlanta. The DJs there aren't on some pay-roll. The only algorithm they use is the one percolating away between their ears. Some of the stuff they play is... dubious. But that is refreshing because it is different, and the artist played because they loved it. They played from their soul.
(Damn, I wish they'd get a shoutcast or realaudio server up. I pester them about it annually. Which reminds me, they're about do for this year's pestering.)
And that brings me to some solutions.
Thank Ghod for shoutcast. I tune my mp3 player to a decent techno beat bleating from half a continent away, and sliiide back into the groove. No commercials. No palp. No stupid talking heads. Just what some joker threw together on his machine. You know, stuff he liked and thought that other folks would like, too.
Didn't radio station DJs used to be that way? I've even heard legend of some showing up with their own records.
Too bad you can't listen these internet stations on the road. Fortunately, you can get an mp3 car stereo, though they're a bit pricey. But you can always rely on one aspect of technology -- the price always comes down.
Back to the RIAA debacle.
The musician and fan revolt is flaring up in myriad forms. Napster, gnutella, freenet, and mp3.com are obviously on the front-lines. But I recently was made aware of OrangeAlley. These guys are trying out something that's unique. And I wish it wasn't. We need more of these kinds of sites.
These guys are trying another way to bypass the greedy corporate basterds. The idea is simple. An artist sends OrangeAlley mp3s of their stuff and it's added to the site. You listen to a sample. You like. You buy the track for 99 cents. And MOST of the money goes direct to the artist.
I like this idea. I like this idea muchly.
I've already spent a couple greenbacks on some tracks. Yeah, I could probably bum 'em off of Napster. But why bother? I like the idea that I'm directly supporting the musician. With each buck I'm sending a personal, "Hi! I listen to and enjoy your stuff. Please keep up the good work."
What's also hella keww is that the artist is notified of the particulars of each purchase. This means that musicians can directly get in touch with everyone that bought their music. This, I feel, can only do good.
Genetic programs of fair complexity have been successfully created to, say, competitively play robotic soccer. In fact, genetic programming is fairly lucrative. You can't argue with success.
The about.com AI page appears to be a good starting point for many AI related web sites.
Hope this helps.
I was there, and will be happy to protest again
on
Protesting DMCA
·
· Score: 5
The DMCA outraged me, and so I didn't think twice about joining yesterday's protest. This was the first time in my life I hoisted a placard stating my displeasure at yet another reprehensible government scheme.
There were a few logistical problems caused by, well, the fact that this was the first such protest the organizers had done. We had some difficulty coelescing at the outset and I heard some complaints about lack of proper notice -- particularly more might have come a long distance to the protest if given sufficient warning.
Still, these were niggling issues and I consider the protest a success. We had a lot of curious folk approach us and ask of the DMCA and why it was a Bad Thing. Maybe it's just wishful thinking on my behalf, but most seemed to come away better educated and rightfully concerned -- kudos should go to the articulate spokesmen who clearly explained what the DMCA was and its associated problems.
There was casual discussion of another protest. If one should materialize, you can count me in again.
On another note, the hordes of veterans seen swarming the Capitol yesterday were there to lend their support for the anti-American Flag desecration Constitutional amendment. Kinda ironic considering we were defending freedom,and they were there to, in a way, curtail it.
I live in Chantilly, Virginia and plan on going to the protest. (Mind, I'll have to rig high explosives to the alarm clock to insure I get up in time.) I thought it might be cool to trundle downtown via the Metro with some fellow protesters. What do you think?
I'll be wearing a "Byte Me" sweatshirt, so I shouldn't be easy to miss.
During the 1999 LokiHack and on its mailing list, you've opined that maybe scaling up the scope of the Hack may be a good idea. That is, instead of just a few days of keyboard hammering, maybe two weeks of happy hacking would be better, perhaps even at a resort.
Although this sounds cool, this may be difficult to pull off. Some may not even elect to try if they have to take a lot of vacation time, or are poor students that can't afford the air fare. As it was, I understand that it was a challenge to get participants for the first one. Many I talked to at the Hack were either students at Georgia Tech, worked locally, or were going to be there anyway for the Linux Showcase. Only a handful traveled any appreciable distance for the Hack (though one did come from Germany!).
Given these considerations, what are your current thoughts on the next Hack? Will you follow the same format last year and have it dove-tail into the Atlanta Linux Showcase or similar program? Will it also focus on a single game? Or will you have multiple games? Do you have some games in mind already, and, if so, what are they?
[...] We also don't happen to have an incredibly huge interest in politics or the little tedious things other people seem to find so interesting (like politics and the oh-so-common "I'm right and you're wrong" syndrome).
Oh? "We?" Speak for yourself, twit.
The intense interest generated by any Microsoft/DOJ, RIAA or DeCSS related threads belies your statement as these are political issues.
We're going to flame you. Often, and in depth.
Rare indeed is the "in depth" flame. Most are shallow polemics devoid of information content. Yours is yet another permutation.
Some of our more outspoken members might keep it more impartial and just point out the flaws,
Their efforts should be applauded and make an excellent example to follow.
but we're human
What's your point? So am I. So's Katz. So, presumably, you are, too.
and there are still some of us with these so-called "emotions" that come into play.
And mature individuals keep theirs in check. Grow up, testoterone boy.
[...]Brock Meeks beat you to this by at least 2 and a half years. Like always, you're a day late and a dollar short.
Ingrate. Just because something has been stated before doesn't preclude further mention, especially in light of our poor collective memory and burgeoning number of issues of the day. Were we not occasionally reminded of this and other problems, we'd soon forget of them and pay heed instead to the current spate of crises blasting at us within the last nanosecond.
After some 255 comments posted, it's pretty clear that nearly everyone is commenting on the comments instead of commenting on the articles. That's really quite a shame, because the article is rather a good bit better than the comments are.
On the contrary, many of the comments were very educational and entertaining. In particular the Lord of the Rings inspired prose and the Emo Phillips hacked-quote have been spirited away into my humor folder. (And everyone has a humor folder.)
The bitch, of course, is the time it takes to read through all the comments to find the diamonds in the rough. Fortunately this article has been the veritable South Africa for such uncut diamonds; one doesn't have to look far for quality writing.
I get a page with the usual/. headers and columns but with no content when cookies are turned off.
I then turned on cookies and went to log back in. I was told that I was "Snowdog", when, in fact, that's not my/. username. Perhaps the hashing mechanism for cookies is broken?
I'm also working on a temporal-spatial feature-oriented library and application suite to support USGS research. Once it's mature it'll also be released as OSS.
cout << __FILE__ << ":" << __LINE__ << " foo isn't in bar\n";
That way not only do you get an error message, you get a tip to the source file and line number where the error occured.
Certainly it's not helpful to the end user, but it does make it easier for the obsessive-compulsive programmers to find and fix the error on their own.
If run-time efficiency is so damned critical, where even the insignificant performance penalties of member overloading are so costly, then a compiled language would be best suited for implementation.
The commentary regarding variable punctuation is in the same league as negative criticism of python's indentation scoping mechanism, which some deemed as being fascist. Fortunately these coding pedants seem to be a vocal minority; hopefully the variable punctuation critics are a mere permutation of the same species.
Meyers used his stock Glaswegian accent, trotted out for "So I Married an Axe Murderer" and for Fat Bastard in "The Spy Who Shagged Me", for Shrek.
Fortunately it worked for Shrek.
I really miss the forums, especially the old inet ones. I was actually hoping the the textfiles site would have more archived messages as I'd hoped to find some old FTL messages.
Anyone else from FTL on /.?
Here's a relevent quote:
(Emphasis added is mine.)
So it is NOT OR; it's AND .
Furthermore, you should probably best refer to the USPTO as a canonical reference and not a /. article.
In other words, this application should prove to be an excellent programming how-to reference for wannabe hackers. Also, pay attention to the bibliography on coldsync's web site; there's some damn good stuff there.
(Yes, that's right: an application with a bibliography. How cool is that?)
Yes, but none of those concepts are programming concepts.
And yet I see many similar testimonies; and we all know that for every story there are dozens of similar tales that we don't know about. Such abuse is rampant and a "normal" teen-age experience for anyone that was a nerd, geek, goth, gay, or anyone else on "the fringe." I've been thinking of Stephen Pinker's take on evolutionary psychology and thought that, since this type of miscreant behavior happens so often, that maybe this is a kind of "culling the herd" behavior that's evolved over time.
The word "schadenfreude" means "happiness from someone else's misfortune." I wonder if, collectively, we go after people that are "too successful" as their progeny may out-compete ours; we are "happy" if these successful people experience "misfortune."
So the "herd" wants to get rid of "the weak," and also wants to insure that some individuals aren't "too successful". I.e., these are folks sitting on the fringe.
Nerds, geeks, or whatever, are unlucky enough to be physically weak are are also generally brilliant. This double wammy may really push that "cull the herd" instinct in those who more comfortably sit on top of the bell curve.
Of course I'm just pulling this out of my ass, but I thought to share it anyway for possible discussion.
They do exist in a variety of implementations. What you refer to is the "island model" for evolutionary algorithms, of which there are many variations on the theme. Another use for parallel architectures is for mitigating computationally expensive operations, which typically are the individual fitness calculations.
Here is an example of a Beowulf cluster being used for genetic programming.
And so:
The Hitch-hiker's Guide to Evolutionary Computation contains links to some online software, most of which is free and open-source.
The comp.ai related FAQs.
The about.com AI page appears to be a good starting point for many AI related web sites.
Hope this helps.
There were a few logistical problems caused by, well, the fact that this was the first such protest the organizers had done. We had some difficulty coelescing at the outset and I heard some complaints about lack of proper notice -- particularly more might have come a long distance to the protest if given sufficient warning.
Still, these were niggling issues and I consider the protest a success. We had a lot of curious folk approach us and ask of the DMCA and why it was a Bad Thing. Maybe it's just wishful thinking on my behalf, but most seemed to come away better educated and rightfully concerned -- kudos should go to the articulate spokesmen who clearly explained what the DMCA was and its associated problems.
There was casual discussion of another protest. If one should materialize, you can count me in again.
On another note, the hordes of veterans seen swarming the Capitol yesterday were there to lend their support for the anti-American Flag desecration Constitutional amendment. Kinda ironic considering we were defending freedom,and they were there to, in a way, curtail it.
Cheers!
Mark
I'll be wearing a "Byte Me" sweatshirt, so I shouldn't be easy to miss.
Cheers,
Mark
Although this sounds cool, this may be difficult to pull off. Some may not even elect to try if they have to take a lot of vacation time, or are poor students that can't afford the air fare. As it was, I understand that it was a challenge to get participants for the first one. Many I talked to at the Hack were either students at Georgia Tech, worked locally, or were going to be there anyway for the Linux Showcase. Only a handful traveled any appreciable distance for the Hack (though one did come from Germany!).
Given these considerations, what are your current thoughts on the next Hack? Will you follow the same format last year and have it dove-tail into the Atlanta Linux Showcase or similar program? Will it also focus on a single game? Or will you have multiple games? Do you have some games in mind already, and, if so, what are they?
Cheers!
Mark
The intense interest generated by any Microsoft/DOJ, RIAA or DeCSS related threads belies your statement as these are political issues.
Rare indeed is the "in depth" flame. Most are shallow polemics devoid of information content. Yours is yet another permutation. Their efforts should be applauded and make an excellent example to follow. What's your point? So am I. So's Katz. So, presumably, you are, too. And mature individuals keep theirs in check. Grow up, testoterone boy.Ingrate. Just because something has been stated before doesn't preclude further mention, especially in light of our poor collective memory and burgeoning number of issues of the day. Were we not occasionally reminded of this and other problems, we'd soon forget of them and pay heed instead to the current spate of crises blasting at us within the last nanosecond.
The bitch, of course, is the time it takes to read through all the comments to find the diamonds in the rough. Fortunately this article has been the veritable South Africa for such uncut diamonds; one doesn't have to look far for quality writing.
Kudos to you.
I then turned on cookies and went to log back in. I was told that I was "Snowdog", when, in fact, that's not my /. username. Perhaps the hashing mechanism for cookies is broken?
Just a guess.
Cheers,
Mark Coletti