I think that for a one month period, sometime this year, all anti-spammers and ISP's around the globe should suspend any activities that they are currently undertaking to supress spam.
This sounds like a good idea, though I think a month might be too long. The aim is to inflict enough pain to prove that spam is a real problem, but not so much pain that anti-spammers look like sadists. (That was your aim, wasn't it?;-)
Sueing individual spammers is all well and good, but the damages are rarely enough to stop them doing it again. Even if you can get damages greater than the profit they made from spamming (through a class action, maybe?) that just leaves the way clear for another spammer to take their place. Unless the probability of being caught is very high, there will always be someone who's prepared to take the risk.
I think that more drastic action is called for. I propose that anybody who is successfully sued for spamming be used for medical experiments. This may seem repugnant at first, but consider the advantages:
These bandwidth-squandering parasites will finally do something to benefit the rest of humanity.
The researchers won't become as attached to spammers as they do to cuddly animals like fruit flies and rats.
The researchers won't have to worry about animal rights activists firebombing their labs and freeing the spammers - who'd want to see a captive spammer set loose again?
(Most importantly:) There are some things even rats won't do.
I admit, the above is shamelessly stolen from a similar proposal involving lawyers. Hey, maybe we could use the spammers' defence lawyers for medical experiments, too.
And yes, moderators, I'm joking. Or trolling. It's hard to tell the difference these days...
You're correct in saying that regexps alone can't validate XML (or any hierarchical structure, come to that). This is an instance of the bracket-matching problem: given a string composed of opening and closing brackets that can nest, determine whether the string is properly balanced or not. For instance, ()() and (()()) are balanced, while (() and (())) are not.
The reason that a regexp can't do this is that it can't keep track of which opening brackets haven't been closed. A regexp has no memory of what it's already seen. All it knows is what state it's in now, and what token is coming next. OK, some programming languages implement regexps in such a way as to provide some sort of memory of what's been seen, but these usually feel like kludges.
If you're prepared to put up with an arbitrary limit on how deeply you can nest brackets, then you can solve the bracket-matching problem with an automaton that has N states, numbered 1 to N. If the automaton is in the state numbered x, that means that it's seen x opening brackets that haven't been closed yet. The instructions for each state would be "if you see an opening bracket, go to state x+1, if you see a closing bracket, go to state x-1, and if you see the end of the string, it isn't balanced." Exceptions would be that in state 1, if you see the end of the string, it's balanced, and if you see a closing bracket, it isn't balanced. In state N, if you see an opening bracket, the brackets are nested too deeply.
Of course, no theoretical computer scientist would ever accept arbitrary limits on how deeply a structure could be nested, which is why you would use a context-free (aka type 2) grammar to solve problems like this one.
...where Catbert told Wally that he couldn't give him a pay rise, because he didn't have 10 years' experience in Java. At the time Java was maybe 5 years old.
I suspect that recruitment adverts like the one mentioned are written by the HR department and/or the agency, with minimal involvement from the department where the employee would be working. This may be a clue that you should avoid applying for the position - unless of course you've found that you enjoy lying to clueless PHBs, and that you can earn more money that way than by writing code;-)
Will the programs that incorporate Cg have to be completely written in Cg?
Comments in the article that announced Cg suggest that it's more like a C-like language for programming the graphics card. Alternatives would be to use OpenGL or DirectX or (shudder) the assembly language for the card's processor chip.
Even though the interview mentions the magic word "Renderman", I don't think this will have much of an impact on movie-making. Well, maybe the low-budget stuff will move to it. But not the likes of Pixar or Dreamworks. Even with the speed of graphics hardware doubling every six months (which I agree is very impressive), we would still need eight or nine years of hardware improvements to render a movie in real time that currently takes two hours per frame.*
OK, it doesn't have to be real-time to be useful. If it's significantly faster than a general-purpose CPU, that could sell it. I suppose it could still be useful for preview renders, where you're trying to check that the animation flows smoothly before you start hammering the render farm. But when you come to do the rendering that your audience will see, you'll want the best quality that you can get, within the constraints of your schedule and your budget.
I've done a few (very short) animated films on the computer, and my experience is that no matter how many bogomips you have, your rendering time per frame stays constant. This is because as the hardware gets faster, I soak up the extra power not by making longer films or more films, but by adding more polygons, more complex textures, more subtle lighting effects, and so on. So the number of frames stays more or less constant, but the complexity of the image in each frame goes up.
Once the computer became fast enough to render a picture quicker than I could draw it by hand, I became the bottleneck. Making the computer faster doesn't let me write the script faster, or animate a character faster, or even move the mouse faster.
Perhaps what's more likely to happen with Cg is that NVidia go to Pixar in a few years and say "we have a chip here that can render a movie like Monsters Inc in real time". Pixar then buy 300 of them and throws enough polygons and lighting effects at them that they still take two hours to render each frame...
* Real time for film = 24 fps, two hours = 7200 seconds, so 24 * 7200 means that two hours per frame is 172,800 times slower than real time. 172,800 is partway between 2^17 and 2^18, so you need 17 or 18 doublings to accelerate this much. A doubling every six months means 8 or 9 years have to pass.
Especially when you consider that no-one claims to have seen an Earth-sized planet orbiting another star. But then, no-one would claim that meant there were no such planets.
The figure of 30 billion Earths appears to be extrapolated from two things. One, that the galaxy contains an estimated 300 billion stars. Two, that of about 1,000 stars surveyed, astronomers have detected planets orbiting about 100 of them, or 10%.
If this holds for the galaxy as a whole, then 30 billion stars have planetary systems. To say that this implies an average of one Earth-sized planet per planetary system sounds like stretching the data. Sure, we have some theories on how planets form, and every new discovery presents much-needed data to test them, but until someone actually detects a planet the size of ours, we have no idea how common they really are.
...is that the article says the system uses a telephone keypad for selecting where you want to put the cursor. Perhaps it's just a metaphor to make it easier to understand, but the keypad on a phone is upside down compared to the number pad on a computer keyboard. It would be rather confusing if the instructions said "press 1 for the top left corner," and you had to press the key that you were used to thinking of as "7". If this is a problem, I imagine it wouldn't be too difficult to add an option to invert the pad - rather like GUIs will let you use a mouse left-handed or right-handed.
That apart, this sounds like a very cool idea. I suppose we shouldn't be surprised that a blind person can draw if you give them the right tools. The main skill in drawing is observing things accurately - even if you draw from imagination, you're often remembering details of things you've seen. If you can't see your surroundings, then moving around without bumping into things or injuring yourself requires you to build an accurate mental model of the environment in 3 dimensions - observe it, in other words. The fact that collecting the information to build this model requires you to use senses other than sight is what project managers would call an "implementation detail.";-)
It's worldwide... sort of.
on
Free as in Books?
·
· Score: 2, Informative
When I read the article, I thought "this is a great idea, but I bet it's only happening in big cities in the USA." Then I saw that some guy has "released" four books in Stevenage, Herts, England, not twenty miles from me. Hurrah!
But you don't have to go outside to find free books. Check the link in my sig for one.
This is probably offtopic (it's certainly shameless self-promotion), but if you're looking for a story to read, you might like the one linked to in my.sig.
It's a shame that Mr Williams has decided not to continue this experiment, but I see from other comments that I'm not the only person who'd never heard of it. Granted, I've never read any of his work in print, either. Maybe if I'd already been interested in him, I'd have discovered Shadowmarch that way.
I think that if authors want to earn a living through web publishing, they need to stop looking at everyone who downloads and doesn't pay as a lost sale. (Insert usual Slashdot rhetoric about uncopyable bits and non-wet water.) The author's promise shouldn't be "I'll release the next installment if 75% of you pay for this one." It should be something like "I'll release the next installment if I make at least $5,000 on this one."
The shareware model could work here. Release the first few installments for free and charge for the rest. Shareware authors don't care that the free versions of their programs are all over the net - in fact, that's just what they want. It builds awareness of the software and saves on their bandwidth bills. Most of them have accepted that the important thing is the number of people who buy the program, not the number of people who don't.
OK, Shadowmarch was a kind of try-before-you-buy, which is one of the main ideas of shareware. It didn't make money. But then, not all shareware makes money. For that matter, not all printed books make money, either.
The first programming assignment I got at university was to convert between Roman and Arabic numbers. Mind you, this was for a "real" CS course (that is, my whole degree was computer science), and I was told to write it in Ada, so it wasn't exactly what you'd call fun;-)
Something like this would help teach loops, and programming of simple logic and arithmetic. It would also teach the importance of input validation. A Roman number is all letters, so you have to read it into a string, but only certain letters have any meaning.
Also, the Romans had no representation for zero, nor (AFAIK) for negative numbers. They may have used fractions, but not decimals. The Arabic to Roman converter should (probably) therefore accept positive integers only. What, then, does the program do if the user inputs, say, "3.7"? The library function that reads an integer may read "3" and stop on the decimal point, or silently round it to 4. This would not be a good thing, so you'd need some validation there as well.
To simplify it, you could convert just one way. Roman-to-Arabic is probably easier than Arabic-to-Roman. You could also ignore the rule that says if a letter comes before one that has a larger value than it, you subtract the smaller from the larger. That is, 4 is normally written as IV (5 minus 1), but you can also write it as IIII. (I believe the Romans did this early on. You might also see clock faces that use IIII for 4. This is for the sake of symmetry with 8 (VIII) on the opposite side.)
Tell them that the program has to handle numbers up to 1,000, just so that they don't type in a big array or switch or if-then-else.
Also, is this just XFree86, or are all variations of X affected?
The Bugzilla report (http://bugzilla.mozilla.org/show_bug.cgi?id=15033 9) that the Register article links to has a couple of comments from Solaris users who say that the "malicious" page crashed their X server too. I don't know if Sun's X server and XFree86 are derived from a common code base, but this would suggest that the bug is (a) old and (b) widespread.
(The reason the Bugzilla link isn't a proper href is that I tried to check it just now, and Bugzilla said links from Slashdot aren't allowed. Make of that what you will!)
...though I doubt anyone here would be willing to go on the record about it in any official way.
We use Perl quite a lot, mainly in development and QA work. Sometimes we write Perl programs for customers, to extend the functionality of one of our products. (Said products are closed source, licenced in the usual proprietary way.)
One of our products used Apache as glue between two other programs that we wrote, and a couple of Perl scripts that ran as CGI programs. Did using GPL'd software (Perl, not Apache) in this way require us to GPL the source of our programs? Of course not.
Perhaps a better example of our use of GPL'd software is gzip. We use it as part of our (often futile) attempts to keep control of disk usage. Also, we often package software deliveries in.tar.gz form, both for CD-ROM and ftp. The installation script (written by us) has to call gzip as the first stage of unpacking it. To say that using gzip means that we have to GPL our software holds about as much water as saying that Adobe owns all your photos of you and your dog because you used Photoshop to save them as JPEGs.
Thank God no one knows how does the software controling 747 flight works
No-one? Not even the people who wrote it? Yes, I've known a few programmers like that...
Later on in the report, the author sort of argues against security through obscurity:
Wheeler comments, "If source code is the "blueprint", then the executable (binary) is the "building". Why would an attacker need a blueprint, when they can get an exact copy of the building to explore and search for vulnerabilities? And in the world of software, an attacker can automatically generate the blueprint from the building. Protecting the blueprint, but not the building makes little sense."
The point is that even without the source, a black hat can reverse engineer or decompile the binary. But this is someone else's view, not necessarily the author's. He later says:
Andrew Sibre, a programmer with over twenty years of experience insists, "Having
a license for binaries only gives you a "black box": you don't know what it's doing, or how,
unless you want to go insane trying to reverse-engineer it with a debugger (
illegal under the
term of most licenses?)..." [emphasis mine]
Um. Yeah. So because the licence for Internet Explorer says you're not allowed to reverse engineer it, that means no-one will ever find a buffer overflow exploit in it? Oh. Wait. Never mind...
Another difference appears to be that they've added restrictions on the lengths of Front-Cover and Back-Cover Texts (5 and 25 words, respectively).
These limits seem a little arbitrary. Also, they might be inappropriate for languages other than English. Most European languages would be OK, but I gather that something like Chinese uses many short words. At the other extreme are languages that say as much in one long word as English says in a sentence (Inuit, I think, is one example). Even Latin gets by with about half the number of words in a sentence that English normally does.
Could this cause problems, or am I just picking nits here?
One thing that your extra $$ get you on the higher-end cards is better analogue electronics, and better A-to-D converters. (OK, two things;-)
Though I don't set much store by manufacturers' specifications (too many unknowns in the testing conditions, and too many opportunities to quote only the favourable measurements), it's worth noting the signal-to-noise ratio and dynamic range of the analogue inputs. The theoretical maximum dynamic range of an A-to-D converter is 6dB per bit, so the maximum for a 24-bit input is 144dB. The analogue section of a cheap card might only have a dynamic range of 100dB, which would mean that the bottom 8 bits of your 24-bit samples would effectively be random noise.
Bear in mind that the mic inputs on most soundcards are fairly horrible, existing mainly for people who want to run NetMeeting or taunt their opponents in Unreal Tournament. If you don't already have something that can bring a microphone level signal up to line level, expect to spend a couple of hundred dollars on a decent preamp. You may see gadgets known as voice channels, which are mic preamps with one or sometimes two inputs, usually having a compressor and maybe some equalisation. A compressor is pretty much essential when you record digitally, because you get clipping (severe distortion) if your signal goes above maximum volume. A compressor keeps the signal below the maximum, while still allowing the loud bits to seem loud.
Something else to consider, if the audio specs appear to be similar or identical, is how many inputs you actually need. Will you be recording a band, or just yourself? If it's just you, you can probably get by with a single stereo input. If it's a band, you'll probably need an input for each instrument or singer, plus at least 3 for the drums (two overheads, plus one for the bass drum). Of course, you can record a band by plonking a stereo mic in front of them, or by routing their instruments into an analogue mixer that then goes into the soundcard, but you then greatly limit your options for mixing or overdubbing. And the cost of a separate mixer is probably comparable to the what you'd pay for the extra inputs on the soundcard. You could record each band member separately on one stereo input, but you then lose a lot of the chemistry and emotion that comes (should come) from their playing together as a band.
I suppose the most important question has to be: are you recording music for your own amusement, or because you want to get a record deal? If it's the former, just go with whatever sounds good to you, and sod what anyone else thinks. If it's the latter, it's got to sound as good as possible. Too many A&R people these days lack the musical know-how to imagine what a finished CD will sound like, having heard just a rough demo of it, so the closer to a releasable product your recordings sound, the better. (I think this is one reason the music industry is in such a mess at the moment, but that's the way it is...)
Blatant plug: you can hear "bedroom recordings" in RealAudio of four songs of mine here. I wouldn't hold them up as shining examples of songwriting, musicianship or audio engineering, but they should give you some idea of what's possible. There's a kit list at the bottom of the page, although the computer I used was a much lower spec than the one listed.
The first song, Ambiguity, was recorded digitally, while the others were first recorded on four-track cassette and later transferred into the computer. Hope this helps.
If you're wondering why Psions are so cheap nowadays, it's mostly because Psion have stopped making them. The reasons are complicated, but I suspect it comes down to a form of the British disease: we invented many things that the modern world takes for granted, but we're hopeless at making money out of them.
I agree that the OS is rock-solid. I've owned three Psions in the last 4 1/2 years, and have had exactly one crash in that time. This resulted when I let my girlfriend's eight-year-old nephew play with the machine, a testing method I recommend to anyone who thinks they write stable code;-)
I wouldn't swap my 5mx for any variety of WinCE, nor for a Palm. Many people don't realise that Psions are true handheld computers, whereas most PDAs are more like detachable peripherals for a desktop machine. Many Psion users don't even own a desktop.
The thing that drew me to Psion in the first place (apart from patriotism) was their excellent keyboards. It saddens me that most newer PDAs have, at best, sorry excuses for keyboards. I can type a lot faster than I can write with a pen, especially on a slippery surface like an LCD. Perhaps I'm atypical, but I enter a lot of text while I'm on the move. The wordprocessor is the most-used application on my Psion, followed by Contacts. I hardly use the Agenda on it. My favourite program for it, though, has to be the ZX Spectrum emulator that actually runs faster than the original on some games. So I suppose I don't fit too well into the target market for all these new Linux-based PDAs (when one actually appears on the shelves), because I don't need to be told minute-by-minute where I'm supposed to be, nor do I want to surf the web on a 2-inch screen or listen to the same 20 MP3s while I go there.
Damn... I'm getting nostalgic for a machine that isn't even officially dead yet. Psion have said they'll support them for the next couple of years. I take my hat off to these guys for the cool hack, but I think we won't see the true utility of Linux on a 5mx until Psion's support ceases.
A good try, but I think you would need to obfuscate it a bit more before it would be patentable. As it stands, it has too many words ("sleep", "young", "humans" and "use") that risk being understood by somebody who might otherwise unknowingly infringe on it.
Doesn't the DCMA prohibit them from doing playing with encrypted packages and attempting to decrypt them to see what's happening?
Sadly not. IANAL and all that, but as I understand it, the relevant part of the DMCA says that if you own the copyright in something and you put some sort of access control on it, such as encryption, it's illegal for someone else to circumvent that access control. Clearly, p2p users don't own the copyright in all those Britney Spears tracks that they're swapping, so the DMCA doesn't apply here. The RIAA may have to get a court order to intercept p2p communications, but they're entirely within their rights to break any encryption that might be in use.
For those who enjoy tweaking lawyers' noses, create a file that's about the right size to be an MP3. (They use about a megabyte per minute at 128Kbit/s.) Something like an uncompressed high-resolution photograph of you at your desk should do. Encrypt it with rot13 or xor63. Then call it something like Metallica-Enter Sandman.mp3 and share it on every p2p network you can find. When the lawyers come calling, remind them that they have to prove that the file really is a Metallica track. When they break your encryption and find that the file isn't what they thought it was, countersue them for violating the DMCA.
Let's see if we can get people to call them "copy prevention" technologies. That might help in explaining to non-technical people why this Act will be such a disaster if it passes into law. "Copy protection," to me, is a little vague about who or what is being protected. Granted, this might be as successful as our attempts to distinguish "hackers" from "crackers," but I think it's worth a try.
That's a good point. I'd say the distinction is that when you put "NOSPAM" or something similar in your email address on a web page, you're attempting to deceive a computer. You put something nearby that says "remove 'NOSPAM' to email" and a person who reads it will know what to do. (If they're too stupid to figure it out, well, you probably didn't want to hear from them anyway;-) A bot that reads the page will just take the address as it finds it, and the spammer won't be able to email you.
OTOH, when a spammer forges their email address in the headers, they're attempting to deceive a human. If a human can't figure out the spammer's real address, a computer has no chance.
Anagrams aren't all confusingly similar: cgiprob.com isn't going to be mistaken for bigcorp.com.
Except that many typos have two letters swapped around. You'd have to be rather careless to type cgiprob.com when you meant bigcorp.com, but it's quite easy to mistype it as bgicorp.com or ibgcorp.com. I don't suppose that would make any difference to a court's opinion on whether or not you were typosquatting, though.
I notice the article says that carbon fibre is what makes "stealth" aircraft invisible (or at least, less visible) to radar. What implications would it have for air traffic control if commercial aircraft were like this? Would the bottom of the plane have to be made of metal, just so the radar would have something to reflect from?
A very similar city has been discovered off the coast of Cuba
That article also talks about sonar images of what look like pyramids and roads under 2,200 feet of water. I don't see how those could be artificial. Certainly the oceans have risen in the last 20,000 years, but not by two-fifths of a mile. The land could have fallen, I suppose, but I doubt that any event that's violent enough to cause that much vertical shift would leave anything recognisable as buildings behind it. Regardless of little objections like that, no doubt the Atlantis and Mu crackpots will have a field day with it...
If you do some background research into past musicians, you will find that NONE of them became rich and famous before they became a great musician.
Ah, but why did they choose to become great musicians, rather than great burger-flippers or great supermarket shelf-stackers? There are probably many reasons, but I expect you'll find that the prospect of being rewarded with fame and riches figures fairly large among them.
If you remove the "riches" part of it, by telling musicians "most of the money we spend on your CDs goes to greedy bastards who add nothing to your music, so we'll just take it and pay nothing to anybody, thank you very much", I rather think that will reduce the amount of good music that's written and recorded. Even people whose product is "nothing but" ones and zeroes have to pay the bills somehow.
There was a time, about 8 BN [1], when I wanted to be a professional musician myself. (Some of my recordings are available in RealAudio format here.) My heart wasn't really in it, but what eventually made me decide against it was that the odds are heavily stacked against any newcomer who wants a record deal. Looking for a deal is practically a full-time job, except that it doesn't pay. For some reason, I have this irrational aversion to working for no money...
OK, the author didn't actually say it, but he seems to be implying that the percentage of people in Japan and China who want (or need) to read the older texts is much higher than in Western countries. They therefore have a greater need of those characters than we would.
For example, how many English speakers have read Chaucer in the original 13th-century language?
As well as that, when the Communists came to power in China, they effectively changed the entire written language. This is difficult for us to grasp as (Quebec notwithstanding), nothing like it has ever happened in any English-speaking country. Imagine being told that everything you wrote or read from now on would have to be in Russian or Arabic or Hebrew. If English wasn't actually banned, you would still need some standard for representing it in a computer.
This sounds like a good idea, though I think a month might be too long. The aim is to inflict enough pain to prove that spam is a real problem, but not so much pain that anti-spammers look like sadists. (That was your aim, wasn't it? ;-)
Sueing individual spammers is all well and good, but the damages are rarely enough to stop them doing it again. Even if you can get damages greater than the profit they made from spamming (through a class action, maybe?) that just leaves the way clear for another spammer to take their place. Unless the probability of being caught is very high, there will always be someone who's prepared to take the risk.
I think that more drastic action is called for. I propose that anybody who is successfully sued for spamming be used for medical experiments. This may seem repugnant at first, but consider the advantages:
I admit, the above is shamelessly stolen from a similar proposal involving lawyers. Hey, maybe we could use the spammers' defence lawyers for medical experiments, too.
And yes, moderators, I'm joking. Or trolling. It's hard to tell the difference these days...
You're correct in saying that regexps alone can't validate XML (or any hierarchical structure, come to that). This is an instance of the bracket-matching problem: given a string composed of opening and closing brackets that can nest, determine whether the string is properly balanced or not. For instance, ()() and (()()) are balanced, while (() and (())) are not.
The reason that a regexp can't do this is that it can't keep track of which opening brackets haven't been closed. A regexp has no memory of what it's already seen. All it knows is what state it's in now, and what token is coming next. OK, some programming languages implement regexps in such a way as to provide some sort of memory of what's been seen, but these usually feel like kludges.
If you're prepared to put up with an arbitrary limit on how deeply you can nest brackets, then you can solve the bracket-matching problem with an automaton that has N states, numbered 1 to N. If the automaton is in the state numbered x, that means that it's seen x opening brackets that haven't been closed yet. The instructions for each state would be "if you see an opening bracket, go to state x+1, if you see a closing bracket, go to state x-1, and if you see the end of the string, it isn't balanced." Exceptions would be that in state 1, if you see the end of the string, it's balanced, and if you see a closing bracket, it isn't balanced. In state N, if you see an opening bracket, the brackets are nested too deeply.
Of course, no theoretical computer scientist would ever accept arbitrary limits on how deeply a structure could be nested, which is why you would use a context-free (aka type 2) grammar to solve problems like this one.
I suspect that recruitment adverts like the one mentioned are written by the HR department and/or the agency, with minimal involvement from the department where the employee would be working. This may be a clue that you should avoid applying for the position - unless of course you've found that you enjoy lying to clueless PHBs, and that you can earn more money that way than by writing code ;-)
Comments in the article that announced Cg suggest that it's more like a C-like language for programming the graphics card. Alternatives would be to use OpenGL or DirectX or (shudder) the assembly language for the card's processor chip.
Even though the interview mentions the magic word "Renderman", I don't think this will have much of an impact on movie-making. Well, maybe the low-budget stuff will move to it. But not the likes of Pixar or Dreamworks. Even with the speed of graphics hardware doubling every six months (which I agree is very impressive), we would still need eight or nine years of hardware improvements to render a movie in real time that currently takes two hours per frame.*
OK, it doesn't have to be real-time to be useful. If it's significantly faster than a general-purpose CPU, that could sell it. I suppose it could still be useful for preview renders, where you're trying to check that the animation flows smoothly before you start hammering the render farm. But when you come to do the rendering that your audience will see, you'll want the best quality that you can get, within the constraints of your schedule and your budget.
I've done a few (very short) animated films on the computer, and my experience is that no matter how many bogomips you have, your rendering time per frame stays constant. This is because as the hardware gets faster, I soak up the extra power not by making longer films or more films, but by adding more polygons, more complex textures, more subtle lighting effects, and so on. So the number of frames stays more or less constant, but the complexity of the image in each frame goes up.
Once the computer became fast enough to render a picture quicker than I could draw it by hand, I became the bottleneck. Making the computer faster doesn't let me write the script faster, or animate a character faster, or even move the mouse faster.
Perhaps what's more likely to happen with Cg is that NVidia go to Pixar in a few years and say "we have a chip here that can render a movie like Monsters Inc in real time". Pixar then buy 300 of them and throws enough polygons and lighting effects at them that they still take two hours to render each frame...
* Real time for film = 24 fps, two hours = 7200 seconds, so 24 * 7200 means that two hours per frame is 172,800 times slower than real time. 172,800 is partway between 2^17 and 2^18, so you need 17 or 18 doublings to accelerate this much. A doubling every six months means 8 or 9 years have to pass.
Especially when you consider that no-one claims to have seen an Earth-sized planet orbiting another star. But then, no-one would claim that meant there were no such planets.
The figure of 30 billion Earths appears to be extrapolated from two things. One, that the galaxy contains an estimated 300 billion stars. Two, that of about 1,000 stars surveyed, astronomers have detected planets orbiting about 100 of them, or 10%.
If this holds for the galaxy as a whole, then 30 billion stars have planetary systems. To say that this implies an average of one Earth-sized planet per planetary system sounds like stretching the data. Sure, we have some theories on how planets form, and every new discovery presents much-needed data to test them, but until someone actually detects a planet the size of ours, we have no idea how common they really are.
...is that the article says the system uses a telephone keypad for selecting where you want to put the cursor. Perhaps it's just a metaphor to make it easier to understand, but the keypad on a phone is upside down compared to the number pad on a computer keyboard. It would be rather confusing if the instructions said "press 1 for the top left corner," and you had to press the key that you were used to thinking of as "7". If this is a problem, I imagine it wouldn't be too difficult to add an option to invert the pad - rather like GUIs will let you use a mouse left-handed or right-handed.
That apart, this sounds like a very cool idea. I suppose we shouldn't be surprised that a blind person can draw if you give them the right tools. The main skill in drawing is observing things accurately - even if you draw from imagination, you're often remembering details of things you've seen. If you can't see your surroundings, then moving around without bumping into things or injuring yourself requires you to build an accurate mental model of the environment in 3 dimensions - observe it, in other words. The fact that collecting the information to build this model requires you to use senses other than sight is what project managers would call an "implementation detail." ;-)
When I read the article, I thought "this is a great idea, but I bet it's only happening in big cities in the USA." Then I saw that some guy has "released" four books in Stevenage, Herts, England, not twenty miles from me. Hurrah!
But you don't have to go outside to find free books. Check the link in my sig for one.
This is probably offtopic (it's certainly shameless self-promotion), but if you're looking for a story to read, you might like the one linked to in my .sig.
It's a shame that Mr Williams has decided not to continue this experiment, but I see from other comments that I'm not the only person who'd never heard of it. Granted, I've never read any of his work in print, either. Maybe if I'd already been interested in him, I'd have discovered Shadowmarch that way.
I think that if authors want to earn a living through web publishing, they need to stop looking at everyone who downloads and doesn't pay as a lost sale. (Insert usual Slashdot rhetoric about uncopyable bits and non-wet water.) The author's promise shouldn't be "I'll release the next installment if 75% of you pay for this one." It should be something like "I'll release the next installment if I make at least $5,000 on this one."
The shareware model could work here. Release the first few installments for free and charge for the rest. Shareware authors don't care that the free versions of their programs are all over the net - in fact, that's just what they want. It builds awareness of the software and saves on their bandwidth bills. Most of them have accepted that the important thing is the number of people who buy the program, not the number of people who don't.
OK, Shadowmarch was a kind of try-before-you-buy, which is one of the main ideas of shareware. It didn't make money. But then, not all shareware makes money. For that matter, not all printed books make money, either.
The first programming assignment I got at university was to convert between Roman and Arabic numbers. Mind you, this was for a "real" CS course (that is, my whole degree was computer science), and I was told to write it in Ada, so it wasn't exactly what you'd call fun ;-)
Something like this would help teach loops, and programming of simple logic and arithmetic. It would also teach the importance of input validation. A Roman number is all letters, so you have to read it into a string, but only certain letters have any meaning.
Also, the Romans had no representation for zero, nor (AFAIK) for negative numbers. They may have used fractions, but not decimals. The Arabic to Roman converter should (probably) therefore accept positive integers only. What, then, does the program do if the user inputs, say, "3.7"? The library function that reads an integer may read "3" and stop on the decimal point, or silently round it to 4. This would not be a good thing, so you'd need some validation there as well.
To simplify it, you could convert just one way. Roman-to-Arabic is probably easier than Arabic-to-Roman. You could also ignore the rule that says if a letter comes before one that has a larger value than it, you subtract the smaller from the larger. That is, 4 is normally written as IV (5 minus 1), but you can also write it as IIII. (I believe the Romans did this early on. You might also see clock faces that use IIII for 4. This is for the sake of symmetry with 8 (VIII) on the opposite side.)
Tell them that the program has to handle numbers up to 1,000, just so that they don't type in a big array or switch or if-then-else.
The Bugzilla report (http://bugzilla.mozilla.org/show_bug.cgi?id=15033 9) that the Register article links to has a couple of comments from Solaris users who say that the "malicious" page crashed their X server too. I don't know if Sun's X server and XFree86 are derived from a common code base, but this would suggest that the bug is (a) old and (b) widespread.
(The reason the Bugzilla link isn't a proper href is that I tried to check it just now, and Bugzilla said links from Slashdot aren't allowed. Make of that what you will!)
...though I doubt anyone here would be willing to go on the record about it in any official way.
We use Perl quite a lot, mainly in development and QA work. Sometimes we write Perl programs for customers, to extend the functionality of one of our products. (Said products are closed source, licenced in the usual proprietary way.)
One of our products used Apache as glue between two other programs that we wrote, and a couple of Perl scripts that ran as CGI programs. Did using GPL'd software (Perl, not Apache) in this way require us to GPL the source of our programs? Of course not.
Perhaps a better example of our use of GPL'd software is gzip. We use it as part of our (often futile) attempts to keep control of disk usage. Also, we often package software deliveries in .tar.gz form, both for CD-ROM and ftp. The installation script (written by us) has to call gzip as the first stage of unpacking it. To say that using gzip means that we have to GPL our software holds about as much water as saying that Adobe owns all your photos of you and your dog because you used Photoshop to save them as JPEGs.
No-one? Not even the people who wrote it? Yes, I've known a few programmers like that...
Later on in the report, the author sort of argues against security through obscurity:
The point is that even without the source, a black hat can reverse engineer or decompile the binary. But this is someone else's view, not necessarily the author's. He later says:
Um. Yeah. So because the licence for Internet Explorer says you're not allowed to reverse engineer it, that means no-one will ever find a buffer overflow exploit in it? Oh. Wait. Never mind...
Is it just me, or does the chip in the photo look rather like the tracker that Agent Smith sticks into Neo near the start of The Matrix?
Another difference appears to be that they've added restrictions on the lengths of Front-Cover and Back-Cover Texts (5 and 25 words, respectively).
These limits seem a little arbitrary. Also, they might be inappropriate for languages other than English. Most European languages would be OK, but I gather that something like Chinese uses many short words. At the other extreme are languages that say as much in one long word as English says in a sentence (Inuit, I think, is one example). Even Latin gets by with about half the number of words in a sentence that English normally does.
Could this cause problems, or am I just picking nits here?
One thing that your extra $$ get you on the higher-end cards is better analogue electronics, and better A-to-D converters. (OK, two things ;-)
Though I don't set much store by manufacturers' specifications (too many unknowns in the testing conditions, and too many opportunities to quote only the favourable measurements), it's worth noting the signal-to-noise ratio and dynamic range of the analogue inputs. The theoretical maximum dynamic range of an A-to-D converter is 6dB per bit, so the maximum for a 24-bit input is 144dB. The analogue section of a cheap card might only have a dynamic range of 100dB, which would mean that the bottom 8 bits of your 24-bit samples would effectively be random noise.
Bear in mind that the mic inputs on most soundcards are fairly horrible, existing mainly for people who want to run NetMeeting or taunt their opponents in Unreal Tournament. If you don't already have something that can bring a microphone level signal up to line level, expect to spend a couple of hundred dollars on a decent preamp. You may see gadgets known as voice channels, which are mic preamps with one or sometimes two inputs, usually having a compressor and maybe some equalisation. A compressor is pretty much essential when you record digitally, because you get clipping (severe distortion) if your signal goes above maximum volume. A compressor keeps the signal below the maximum, while still allowing the loud bits to seem loud.
Something else to consider, if the audio specs appear to be similar or identical, is how many inputs you actually need. Will you be recording a band, or just yourself? If it's just you, you can probably get by with a single stereo input. If it's a band, you'll probably need an input for each instrument or singer, plus at least 3 for the drums (two overheads, plus one for the bass drum). Of course, you can record a band by plonking a stereo mic in front of them, or by routing their instruments into an analogue mixer that then goes into the soundcard, but you then greatly limit your options for mixing or overdubbing. And the cost of a separate mixer is probably comparable to the what you'd pay for the extra inputs on the soundcard. You could record each band member separately on one stereo input, but you then lose a lot of the chemistry and emotion that comes (should come) from their playing together as a band.
I suppose the most important question has to be: are you recording music for your own amusement, or because you want to get a record deal? If it's the former, just go with whatever sounds good to you, and sod what anyone else thinks. If it's the latter, it's got to sound as good as possible. Too many A&R people these days lack the musical know-how to imagine what a finished CD will sound like, having heard just a rough demo of it, so the closer to a releasable product your recordings sound, the better. (I think this is one reason the music industry is in such a mess at the moment, but that's the way it is...)
Blatant plug: you can hear "bedroom recordings" in RealAudio of four songs of mine here. I wouldn't hold them up as shining examples of songwriting, musicianship or audio engineering, but they should give you some idea of what's possible. There's a kit list at the bottom of the page, although the computer I used was a much lower spec than the one listed. The first song, Ambiguity, was recorded digitally, while the others were first recorded on four-track cassette and later transferred into the computer. Hope this helps.
If you're wondering why Psions are so cheap nowadays, it's mostly because Psion have stopped making them. The reasons are complicated, but I suspect it comes down to a form of the British disease: we invented many things that the modern world takes for granted, but we're hopeless at making money out of them.
I agree that the OS is rock-solid. I've owned three Psions in the last 4 1/2 years, and have had exactly one crash in that time. This resulted when I let my girlfriend's eight-year-old nephew play with the machine, a testing method I recommend to anyone who thinks they write stable code ;-)
I wouldn't swap my 5mx for any variety of WinCE, nor for a Palm. Many people don't realise that Psions are true handheld computers, whereas most PDAs are more like detachable peripherals for a desktop machine. Many Psion users don't even own a desktop.
The thing that drew me to Psion in the first place (apart from patriotism) was their excellent keyboards. It saddens me that most newer PDAs have, at best, sorry excuses for keyboards. I can type a lot faster than I can write with a pen, especially on a slippery surface like an LCD. Perhaps I'm atypical, but I enter a lot of text while I'm on the move. The wordprocessor is the most-used application on my Psion, followed by Contacts. I hardly use the Agenda on it. My favourite program for it, though, has to be the ZX Spectrum emulator that actually runs faster than the original on some games. So I suppose I don't fit too well into the target market for all these new Linux-based PDAs (when one actually appears on the shelves), because I don't need to be told minute-by-minute where I'm supposed to be, nor do I want to surf the web on a 2-inch screen or listen to the same 20 MP3s while I go there.
Damn... I'm getting nostalgic for a machine that isn't even officially dead yet. Psion have said they'll support them for the next couple of years. I take my hat off to these guys for the cool hack, but I think we won't see the true utility of Linux on a 5mx until Psion's support ceases.
A good try, but I think you would need to obfuscate it a bit more before it would be patentable. As it stands, it has too many words ("sleep", "young", "humans" and "use") that risk being understood by somebody who might otherwise unknowingly infringe on it.
Sadly not. IANAL and all that, but as I understand it, the relevant part of the DMCA says that if you own the copyright in something and you put some sort of access control on it, such as encryption, it's illegal for someone else to circumvent that access control. Clearly, p2p users don't own the copyright in all those Britney Spears tracks that they're swapping, so the DMCA doesn't apply here. The RIAA may have to get a court order to intercept p2p communications, but they're entirely within their rights to break any encryption that might be in use.
For those who enjoy tweaking lawyers' noses, create a file that's about the right size to be an MP3. (They use about a megabyte per minute at 128Kbit/s.) Something like an uncompressed high-resolution photograph of you at your desk should do. Encrypt it with rot13 or xor63. Then call it something like Metallica-Enter Sandman.mp3 and share it on every p2p network you can find. When the lawyers come calling, remind them that they have to prove that the file really is a Metallica track. When they break your encryption and find that the file isn't what they thought it was, countersue them for violating the DMCA.
Just a thought...
Let's see if we can get people to call them "copy prevention" technologies. That might help in explaining to non-technical people why this Act will be such a disaster if it passes into law. "Copy protection," to me, is a little vague about who or what is being protected. Granted, this might be as successful as our attempts to distinguish "hackers" from "crackers," but I think it's worth a try.
That's a good point. I'd say the distinction is that when you put "NOSPAM" or something similar in your email address on a web page, you're attempting to deceive a computer. You put something nearby that says "remove 'NOSPAM' to email" and a person who reads it will know what to do. (If they're too stupid to figure it out, well, you probably didn't want to hear from them anyway ;-) A bot that reads the page will just take the address as it finds it, and the spammer won't be able to email you.
OTOH, when a spammer forges their email address in the headers, they're attempting to deceive a human. If a human can't figure out the spammer's real address, a computer has no chance.
Except that many typos have two letters swapped around. You'd have to be rather careless to type cgiprob.com when you meant bigcorp.com, but it's quite easy to mistype it as bgicorp.com or ibgcorp.com. I don't suppose that would make any difference to a court's opinion on whether or not you were typosquatting, though.
I notice the article says that carbon fibre is what makes "stealth" aircraft invisible (or at least, less visible) to radar. What implications would it have for air traffic control if commercial aircraft were like this? Would the bottom of the plane have to be made of metal, just so the radar would have something to reflect from?
That article also talks about sonar images of what look like pyramids and roads under 2,200 feet of water. I don't see how those could be artificial. Certainly the oceans have risen in the last 20,000 years, but not by two-fifths of a mile. The land could have fallen, I suppose, but I doubt that any event that's violent enough to cause that much vertical shift would leave anything recognisable as buildings behind it. Regardless of little objections like that, no doubt the Atlantis and Mu crackpots will have a field day with it...
Ah, but why did they choose to become great musicians, rather than great burger-flippers or great supermarket shelf-stackers? There are probably many reasons, but I expect you'll find that the prospect of being rewarded with fame and riches figures fairly large among them.
If you remove the "riches" part of it, by telling musicians "most of the money we spend on your CDs goes to greedy bastards who add nothing to your music, so we'll just take it and pay nothing to anybody, thank you very much", I rather think that will reduce the amount of good music that's written and recorded. Even people whose product is "nothing but" ones and zeroes have to pay the bills somehow.
There was a time, about 8 BN [1], when I wanted to be a professional musician myself. (Some of my recordings are available in RealAudio format here.) My heart wasn't really in it, but what eventually made me decide against it was that the odds are heavily stacked against any newcomer who wants a record deal. Looking for a deal is practically a full-time job, except that it doesn't pay. For some reason, I have this irrational aversion to working for no money...
[1] BN = Before Napster
OK, the author didn't actually say it, but he seems to be implying that the percentage of people in Japan and China who want (or need) to read the older texts is much higher than in Western countries. They therefore have a greater need of those characters than we would.
For example, how many English speakers have read Chaucer in the original 13th-century language?
As well as that, when the Communists came to power in China, they effectively changed the entire written language. This is difficult for us to grasp as (Quebec notwithstanding), nothing like it has ever happened in any English-speaking country. Imagine being told that everything you wrote or read from now on would have to be in Russian or Arabic or Hebrew. If English wasn't actually banned, you would still need some standard for representing it in a computer.