Higher-order functions mostly make macros obsolete
on
Why Java Won't Have Macros
·
· Score: 2, Insightful
If you have higher-order anonymous functions in your language, than it's easy to do this kind of thing by turning the binding inside-out and making it an argument to the rest of the code. In general macros that bind variables or have effect are trouble, because, for one thing, the scope of declarations is "open."
I used to be a crazy cowboy C programmer, and I loved macros more than anything. But seriously, functions go a long way, as long as they are syntactically brief (anonymous) and semantically powerful (nestable, higher-order). I program mostly in SML these days, and hardly ever wish I had macros.
Researchers in compiler optimizations usually use SPEC benchmarks to test how their optimizations do. This keeps them from cooking up programs that their optimizations do really well on ("Our optimization results in a bajillion percent increase on this program!!"), though of course it encourages them to cook up optimizations that do really well on SPEC benchmarks. That's why the benchmarks are supposed to be "real world" programs, as much as possible.
It's ignoramuses, because in latin it wasn't a noun.
My ''Embed'' program is still up
on
Copyright Defeats?
·
· Score: 2, Informative
Well, this was probably a small-scale victory but it was significant to me.;)
Almost a year ago lawyers from Agfa Monotype threatened me with the DMCA about a program I wrote that changes the embedding permissions on fonts. (slashdot article) I presented my defense via e-mail, they got a lot of bad press, and eventually they gave up (?). The program is still up today. Hopefully other developers who receive cease-and-desist letters will recognize that it is not always costly to fight them...
No, unless that information is also a circumvention device (like source code, perhaps). There are some laws on the books in some states regarding things like cable theft (sometimes slashdot calls these super-DMCA laws), that might, though.
> Chess is a thinking game. The idea of a machine being able to out think or out strategize a human fosters competition, so > that's where the excitement in that lies.
Sure, but you can write a chess player in a day because the inputs and outputs are so well defined. Following the ball, actuating the rods, planning shots -- those are all really hard things to do and they're not an issue in computer chess at all!
Sure, but on the same token, a machine that can do the three variations of the snake lightning fast and with near perfect accuracy and NO poker cues is going to score almost 2/3 of the time he gets the ball to his three bar. I agree that 50fps is a little low, but I don't think it's unreasonable that this machine could beat good players with some more work...
I took this thing about 3 years ago. I found it a lot more pleasurable than the computer-based general test.
Go online and take the practice test. If you find it fine, then you are all set. I don't think that cramming will help much, but it can't hurt except by wasting your time. I personally missed a couple of questions having to do with information/coding theory, since I had never taken anything in that.
If you find it incomprehensible, then you are in trouble. The best idea would be to re-take the classes you missed (?) as an undergraduate. The test questions are not hard, but they cover an incredible breadth of topics--you need to have basic knowledge of a LOT of stuff in order to do well. I don't know any easy way of getting that knowledge!
Man, this post is so totally wrong, and convinced that it is so totally right, that you ended up in my enemies bin immediately. That doesn't happen much, but, for god's sake don't sound so completely sure of yourself if you've never actually read the copyright title or even (apparently) a FAQ about it.
Fair use is real, and in fact, it has its own Section in the US Code. Sometimes it is legal to copy a work without permission. It's possible that some uses of copied web graphics could be fair use, but unlikely--most wholesale copying fails one of the four factors (see 17 usc 107).
On the other hand, it's possible that some copying could be ok, since not everything qualifies for copyright. If the work is not sufficiently expressive (like a scrollbar widget, perhaps) then you could very well be in the clear. However, the "look and feel" of a program or OS can be protected by copyright (sadly), meaning that if you copy enough of those uncopyrightable widgets, you could also be in trouble.
Anyway, the best thing to do, as you say, is get permission. I'll bet the GNOME and KDE icons are Free (as in software), so you could probably use those safely, assuming you're doing the right thing and making your app free!
And please, if you think you can squander the project's resources and publish confusing red herrings, also apply for a grant so that this thing never happens.
What's up with this "not a website" attitude? As much as the W3C would like to think it dictates web standards, there is a significant "de facto" standard of what works and what doesn't on web pages. It's perfectly possible to make a web site that essentially everyone can use without passing the W3C validator. That page might not be proper XHTML 4.0/CSS2/XML/RSS/WSDL compliant, but that doesn't make it not a web site! At the same time, you can easily make a proper standards-compliant document that is unviewable by any browser.
(Of course, if indeed this site doesn't work on many browsers, then that's not defensible. But it's still a website, just a broken one.)
Just get rid of the penny.
on
Making Change
·
· Score: 1
If you get rid of the penny, I'll bet the average number of coins also drops dramatically!
On windows xp, reassociate movie files with "mplayer2.exe" (comes with the OS), and you can have back the stable old simple interface movie player from Windows 2000.
Maybe I was also put off by the fact that the author's statement, that "Lisp is very much the lambda calculus".
Yeah, he pretty much lost all credibility with me there. Basically anyone who's used modern lisp knows that the language has mutated far beyond its initial inspiration by the lambda calculus. And, indeed, anyone who's studied the lambda calculus knows that lisp gets its static scope wrong--and in a language as minimal as the lambda calculus, that's enough to hardly make them related.
The author seems to name drop functional and logic programming languages to make it seem as if he has programmed in more than just C-derived languages, yet what little he mentions indicates that he doesn't have more than a general knowledge that such languages exist. (Functional languages have no variables??)
Well, this scenario would not be appropriate, since there's hardly any processing involved in web orders. Mostly that is just database queries. But you could easily imagine that you'd see a useful speedup if you had your advertising firm's 3D animations rendering on every computer in the office, or your software development company's nightly build/regression suite. Fault tolerance (not trivial, but not impossible either) takes care of 2 and 3, so you just need to find an application that's a ppropriate to take care of 1 and 4.
Well, it's definitely not symmetric. It's more like "distributed computing." The granularity of parallelism is much, much larger than you'd get on an SMP architecture.
If you have higher-order anonymous functions in your language, than it's easy to do this kind of thing by turning the binding inside-out and making it an argument to the rest of the code. In general macros that bind variables or have effect are trouble, because, for one thing, the scope of declarations is "open."
I used to be a crazy cowboy C programmer, and I loved macros more than anything. But seriously, functions go a long way, as long as they are syntactically brief (anonymous) and semantically powerful (nestable, higher-order). I program mostly in SML these days, and hardly ever wish I had macros.
If I see another axis-aligned cube I'm gonna puke...
I'll bet if you rename quake3.exe to something else, it also gets a bunch slower...
Researchers in compiler optimizations usually use SPEC benchmarks to test how their optimizations do. This keeps them from cooking up programs that their optimizations do really well on ("Our optimization results in a bajillion percent increase on this program!!"), though of course it encourages them to cook up optimizations that do really well on SPEC benchmarks. That's why the benchmarks are supposed to be "real world" programs, as much as possible.
Probably from Hawaii. ;)
> Or is it ignoramii?
It's ignoramuses, because in latin it wasn't a noun.
Well, this was probably a small-scale victory but it was significant to me. ;)
Almost a year ago lawyers from Agfa Monotype threatened me with the DMCA about a program I wrote that changes the embedding permissions on fonts. (slashdot article) I presented my defense via e-mail, they got a lot of bad press, and eventually they gave up (?). The program is still up today. Hopefully other developers who receive cease-and-desist letters will recognize that it is not always costly to fight them...
No, unless that information is also a circumvention device (like source code, perhaps).
There are some laws on the books in some states regarding things like cable theft (sometimes slashdot calls these super-DMCA laws), that might, though.
> ... but what other 20 year old platform is so dear to our hearts?
Um, Nintendo?
> Chess is a thinking game. The idea of a machine being able to out think or out strategize a human fosters competition, so
> that's where the excitement in that lies.
Sure, but you can write a chess player in a day because the inputs and outputs are so well defined. Following the ball, actuating the rods, planning shots -- those are all really hard things to do and they're not an issue in computer chess at all!
Sure, but on the same token, a machine that can do the three variations of the snake lightning fast and with near perfect accuracy and NO poker cues is going to score almost 2/3 of the time he gets the ball to his three bar. I agree that 50fps is a little low, but I don't think it's unreasonable that this machine could beat good players with some more work...
;)
Anyway, I want one of these for practice.
I took this thing about 3 years ago. I found it a lot more pleasurable than the computer-based general test.
Go online and take the practice test. If you find it fine, then you are all set. I don't think that cramming will help much, but it can't hurt except by wasting your time. I personally missed a couple of questions having to do with information/coding theory, since I had never taken anything in that.
If you find it incomprehensible, then you are in trouble. The best idea would be to re-take the classes you missed (?) as an undergraduate. The test questions are not hard, but they cover an incredible breadth of topics--you need to have basic knowledge of a LOT of stuff in order to do well. I don't know any easy way of getting that knowledge!
Man, this post is so totally wrong, and convinced that it is so totally right, that you ended up in my enemies bin immediately. That doesn't happen much, but, for god's sake don't sound so completely sure of yourself if you've never actually read the copyright title or even (apparently) a FAQ about it.
Fair use is real, and in fact, it has its own Section in the US Code . Sometimes it is legal to copy a work without permission. It's possible that some uses of copied web graphics could be fair use, but unlikely--most wholesale copying fails one of the four factors (see 17 usc 107).
On the other hand, it's possible that some copying could be ok, since not everything qualifies for copyright. If the work is not sufficiently expressive (like a scrollbar widget, perhaps) then you could very well be in the clear. However, the "look and feel" of a program or OS can be protected by copyright (sadly), meaning that if you copy enough of those uncopyrightable widgets, you could also be in trouble.
Anyway, the best thing to do, as you say, is get permission. I'll bet the GNOME and KDE icons are Free (as in software), so you could probably use those safely, assuming you're doing the right thing and making your app free!
I'm pretty sure they made up almost everything in that article.
Oh, shit, did Y2K happen again??
And please, if you think you can squander the project's resources and publish confusing red herrings, also apply for a grant so that this thing never happens.
The best: jodi.org .
It works fine for me in Mozilla Firebird.
What's up with this "not a website" attitude? As much as the W3C would like to think it dictates web standards, there is a significant "de facto" standard of what works and what doesn't on web pages. It's perfectly possible to make a web site that essentially everyone can use without passing the W3C validator. That page might not be proper XHTML 4.0/CSS2/XML/RSS/WSDL compliant, but that doesn't make it not a web site! At the same time, you can easily make a proper standards-compliant document that is unviewable by any browser.
(Of course, if indeed this site doesn't work on many browsers, then that's not defensible. But it's still a website, just a broken one.)
If you get rid of the penny, I'll bet the average number of coins also drops dramatically!
On windows xp, reassociate movie files with "mplayer2.exe" (comes with the OS), and you can have back the stable old simple interface movie player from Windows 2000.
Of course, Microsoft already had a product called Bob .
I've synced my Palm III with PalmOS.
Maybe I was also put off by the fact that the author's statement, that "Lisp is very much the lambda calculus".
Yeah, he pretty much lost all credibility with me there. Basically anyone who's used modern lisp knows that the language has mutated far beyond its initial inspiration by the lambda calculus. And, indeed, anyone who's studied the lambda calculus knows that lisp gets its static scope wrong--and in a language as minimal as the lambda calculus, that's enough to hardly make them related.
The author seems to name drop functional and logic programming languages to make it seem as if he has programmed in more than just C-derived languages, yet what little he mentions indicates that he doesn't have more than a general knowledge that such languages exist. (Functional languages have no variables??)
Well, this scenario would not be appropriate, since there's hardly any processing involved in web orders. Mostly that is just database queries. But you could easily imagine that you'd see a useful speedup if you had your advertising firm's 3D animations rendering on every computer in the office, or your software development company's nightly build/regression suite. Fault tolerance (not trivial, but not impossible either) takes care of 2 and 3, so you just need to find an application that's a ppropriate to take care of 1 and 4.
Well, it's definitely not symmetric.
It's more like "distributed computing." The granularity of parallelism is much, much larger than you'd get on an SMP architecture.