1. There's a finite supply of land. There's an infinite supply of creativity just waiting for you to take some.
2. If you don't use your land, and I decide I want to use it instead of you, I can start using it without your permission. While you can stop me at any time (by asking me to leave, and getting an eviction order if I refuse to leave), if I continue to do this for some period of time (varies depending on where you are, but it's usually 7 or 10 years) then the land becomes mine. This is not possible for intellectual property.
2b. Note that there is no financial penalty to me for using your land in the scenario in 2, as long as I leave when you ask me to. If I were infringing your copyright, however, you could sue me for large sums of money.
Essentially: copyright and land ownership work in two completely different ways. Equating them confuses the discussion because there are a variety of rights that exist for each that have no equivalent for the other. These rights exist to make sure the system is fair. One of these rights is the right to use copyright works that were published a long time ago. Another is the right to acquire somebody else's property through adverse possession. Like it or not, both of these are important rights.
If the batteries in these cars last as long as my laptop batteries have, the owners are in for some serious disappointment.
The problem with your laptop batteries is due to the fact that they haven't been looked after properly. In order to get serious lifetime out of li-ions, you need to keep them cool. The battery pack in a Tesla is air-conditioned. The battery pack in your laptop is slung right next to a ridiculously hot CPU and hard drive, and has almost zero airflow.
Didn't Boeing say they won't be testing carbon fiber wings to the point of failure because they'd need to call in the hazmat team?
The stuff I saw about boeing's CF wings suggests that the reason they didn't test them to failure was probably because the failure point would be so far outside normal operating parameters for such wings that it wasn't worth it. The standard health and safety requirements for cutting and breaking CF composites are that it should only be done in a well-ventilated area. I wouldn't worry unless you crash it indoors.
Actually I was wondering why it doesn't have just the one ratio. I assume the reason was to get a nice high maximum speed, ie, the top gear is an overdrive.
Yep, that's exactly right. They're also planning on replacing the gearbox with a single-gear one (slightly higher ratio, IIRC) starting some time next year, IIRC. There's lots of technical posts on their blog about this kind of stuff. Look for articles discussing "powertrain 2.0".
Actually I was wondering why it doesn't have just the one ratio. I assume the reason was to get a nice high maximum speed, ie, the top gear is an overdrive.
Yep. And they've decided to scrap it in favour of a single speed, slightly higher ratio gearbox on newer models, also. I think they'll start delivering those in about 6 months or so, from what I read on their blog.
AFAIK, breakdown services (in the UK at least) bill you the full cost of delivering fuel to your vehicle / recovering it, since it was your own dumb fault for running out. I imagine that they'll pretty quickly start applying the same principle to electric vehicles, if it's not in their contracts already.
I dare say they will. However, if you've spent £50,000 or thereabouts on a second car (as this will be for almost everyone who has one, because the range isn't long enough for long distance journeys) that saves you money by being cheaper to run than your primary vehicle, are you going to worry about a few hundred quid for recovery every now and then?
Lets say you have a 100gb hard drive, and have decided to break away 15gb of that for an alternate volume. Since the OS has to be on it, it can't be very small (300mb for example) as you could do normally with an obvious encrypted disk image document.
It is not a common usage pattern of truecrypt to install an OS on the hidden volume. In fact, I don't believe you would be able to boot such an OS. A 15GB hidden volume would therefore be unusually large. The only application I can see for that is storing large quantities of sensitive video files. I can accept that for such an unusual requirement truecrypt may not be ideal, although it isn't as weak as you suggest.
Unfortunately, over time data is spread around on your hard drive. All current OS's move the next available block pointer forward on the drive as it's used.
Not true. FAT filesystems (the only supported filesystem type if you want to use hidden partitions) reset the free block pointer on each remount, as it isn't stored on the disk. This has the effect of concentrating usage on a FAT fs at the start of the volume. There is usually a large chunk of free space towards the end of the disk (unless at some point the disk has been completely full and it hasn't been defragged since).
If you've provided your 2nd password, truecrypt will "hop" over the hidden partition to avoid damaging it. But that's the problem.
It would be if it were true. However, truecrypt does not actually do this. All it does is write-protect the sectors in the hidden partition, which means that if your OS tries to overwrite it, you will get error messages. The data will not be redirected to somewhere else on the disk.
If you continue to use your trojan partition, a simple look at used disk space will see a fairly even coverage mix of free and used blocks, except for one conspicuous, contiguous 15gb chunk of unused space, smack in the middle of the "only volume" on the disk. It could be very difficult to explain to someone analyzing your drive.
I've used truecrypt extensively in the past, and I've never seen anything like this. You need to remember to regularly defrag the primary volume, which has the side effect of compressing the usage down into the earlier parts. Also note that truecrypt hidden volumes are always at the end of the disk, not in the middle. This works well with the pattern of usage seen in FAT systems (as I describe above).
Obviously his specific use for truecrypt is to protect data in transit, should he lose the USB drive. I think that's a very common scenario. Your 'solution' completely negates the value of that use of truecrypt.
That specific scenario is best dealt with using an encrypted archive file which can be decrypted with user-mode software on the PC he wants to use the files on. Using a system that requires a driver installed on the PC is unnecessarily complex, and is asking for compatibility issues.
If people could be held responsible for 'inciting' suicide, it'd be terrible. Imagine, you break up with your girlfriend and she decides to do something stupid, and suddenly you're to blame. Imagine, you tease someone a little, as is normal among friends, but that person takes it too seriously and a court finds that you've incited suicide. Imagine you do nothing, but this girl has a crush on you and kills herself because she thinks she can't even talk to you.
Depends how it worked. In this case, the incitement to do it was quite blatant: the last message sent to the girl before she did it read "You are a bad person and everybody hates you. Have a shitty rest of your life. The world would be a better place without you." The intention there is quite clear.
I agree that charging Lori Drew with a felony simply for signing onto MySpace under a false name is reaching, but using a false name with the intent to harass someone should be illegal. If your harassment causes the person's death, then you should be liable for at least involuntary manslaughter.
But they _have_ charged her with a crime that is simply signing onto MySpace using a false name. If she's found guilty, it sets a precedent that anyone who has done this, whatever the reason, has committed that crime.
If you think that using a false name with the intent to harass someone should be illegal, the appropriate thing to do is lobby your representatives to pass a law that makes it so.
the fact is that to be effective a P2P program MUST send gigabytes of data upstream to multiple destinations. It's inherent in the nature of the beast.
All one has to do to spot it is meter the connection and count bytes...
Speaking as a heavy user of VoIP and video conferencing software, you're talking about blocking my completely legitimate traffic.
Bingo. I'd like to see an analysis of these amendments written by somebody who does understand them in terms of all their implications, but the linked analysis is blatantly wrong in many aspects. One that stood out to me:
1. In implementing the provisions of this Directive, Member States shall ensure, subject to paragraphs 2 and 3, that no mandatory requirements for specific technical features, including, withoutlimitation, for the purpose of detecting,intercepting or preventing infringement of intellectual property rights by users, are imposed on terminal or other electronic communication equipment which could impede the placing of equipment on the market and the free circulation of such equipment in and between Member States.
This is interpreted by La Quadrature as mandating TPM. As I read it, it actually does the opposite: it states that member states are not allowed to require such measures: "Member States shall ensure... that no mandatory requirements... are imposed on terminal equipment [etc]". The directive as it stands without this amendment could be interpreted as requiring TPM.
The xilinx fpga tools run just fine (perhaps better) from the command line, and have native ports to linux. I believe the same is true for Altera.
Yep, Altera's tools are available for Linux also.
The other thing that occurs to me based on the suggestion that the box will be used for FPGA synthesis: this is a very resource-intensive app. X11, not so much. Just run a damned X server and ignore the ~20MB it'll use. You presumably have at least 1/2 gig of RAM in that machine -- if not, you really need more for the application you want it for.
You can't post from the cache. When you clicked the 'submit' button, your request went to slashdot rather than the cache, and therefore was associated with your normal login details.
Did you know DNA is what makes a lot of the choices in your brain? Right, in every neuron, every time it fires, messages go into the nucleus (that's the dna's housing and equipment) and get translated by RNA and DNA... the resulting parts of the neuron that fire are due to the response from the DNA!
Erm... not really, no. Most "firing" of neurons (generation of action potential) happens on a purely electrical basis. There is chemical modulation of this based on quantities of neurotransmitters that are produced by the nucleus, but this only takes place on a very long term scale (think minutes, not the milliseconds it takes for an action potential to propogate).
Besides, so what if it does? DNA is responsible for governing _every reaction that goes on in our body_ by determining what new substances are to be produced based on the quantities present of other substances. That's simply how life works.
We use this same thing to make RNA computers that can do massive calculations in a fraction of the time it would take our current PCs to do it (well, the setup takes a while, yuk yuk.) This building blocks of life, which came about in a cave as the world cooled off from its volcanic eruptions, just randomly have supercomputing ability?!
The stimulus/response mechanism provided by RNA is an important part of life because it allows it to rapidly adapt to changing circumstances. But (1) it isn't really a "supercomputing ability". At least not until a lot of it has accumulated in the same place. Early RNA was probably extremely simple compared to what we see today. And (2) it didn't have to occur randomly in a form anything like as complex as RNA. Current theories of the origin of life include a few alternatives, including a much simpler system called PNA that might have evolved into RNA, and the possibility of "metabolism-first" abiogenesis which allows for a self-perpetuating cycle to exist and evolve without the complexity of a self-replicating information store. It then evolves such a store and begins replicating.
you mean like how meteorites are apparently square? Seriously, wtf was that.
A cube is probably the least likely structure to carry surviving life. A sphere is the strongest, and therefore the most likely. A cube was probably therefore the best simple structure to simulate.
On Windows any executable or library currently in use is locked such that the file cannot be deleted, renamed, or overwritten. To replace a locked DLL the installer must write the new version to a temporary location and set up a script to complete the process on the next startup, when the DLL is (hopefully) no longer in use. Processes started before that point load the old DLL.
Not true any more. Windows 2000 and up running on NTFS can replace in-use files, unless the application using them has specifically locked them (the sequence of operations is: rename old version, install new version in its place, delete old version - the file will remain visible on the FS until the last open handle to it is closed). Also, since Windows XP most DLLs should be installed using 'WinSxS' that allows multiple versions to exist concurrently.
I can't remember the last time I've "had to" compile anything from source under Linux. That's what apt (or whatever package manager) is for. The only times I compile things from source are when I feel like it because I'm being geeky, or when it's some really esoteric package that, frankly, you wouldn't even have under Windows (hydra comes to mind).
Things I've had to compile from source recently:
- The driver for my USB broadband modem, which wasn't included in the kernel from my distribution. - A patched version of the USB serial driver, because the default one couldn't keep up with the above modem (no similar problems occur in windows) - The driver for my 802.11g USB interface, which isn't included in the mainline kernel at all yet. - An IMAP server (UW-IMAPD; a binary version is included in my distribution but certain important configuration options can only be modified by recompiling).
Of these, I'd say only the latter was something that an average user wouldn't want to do.
A fresh install of Windows has, well, nothing really. [...] Where's the DVD player?
In the meantime, the -art- and -science- of programming language design seems to have withered away due to lack of interest from the developer community.
Bullshit. We're seeing plenty of new language design work, some of which is really interesting and generating new languages which actually have useful advantages over other currently available ones. See (for example) the latest version of C#, Ruby, OCAML, and Scala, all of which are interesting languages with innovative designs that have come to fruition since Java and/or Python.
Ugh, apparently I need to choose a more explicit example, as you're too thick to understand. Let's say I have this:
if (true):
print "Hello World"
for i in range(1,10):
print i
print i + 1
Now, insert the for loop into the if statement, before print statement, and use the editor to reindent the block. And good luck.
OK. I open up SlickEdit, and start a new Python file. I paste your example code into it. I do some quick fixes that wouldn't be necessary if I hadn't pasted code from a web site (converting your spaces to tabs). I then put my cursor on 'for', Edit/Select/Code block, and press tab. Done.
Except, of course, that Python doesn't provide enough context for an editor to properly indent blocks automatically, as there's no proper block delimiters. So, if I, for example, need to change the level of nesting in an existing block of code for some reason (say, introducing an if statement, or factoring some code out into a separate function), the editor can't help me to ensure I get the indentation level right.
What do you mean it can't? As long as the indentation was right to start with, it's a simple matter of selecting the appropriate block and indenting or unindenting by a constant amount. Every programmer's editor I've ever used is capable of doing this.
Other differences nobody has pointed out:
1. There's a finite supply of land. There's an infinite supply of creativity just waiting for you to take some.
2. If you don't use your land, and I decide I want to use it instead of you, I can start using it without your permission. While you can stop me at any time (by asking me to leave, and getting an eviction order if I refuse to leave), if I continue to do this for some period of time (varies depending on where you are, but it's usually 7 or 10 years) then the land becomes mine. This is not possible for intellectual property.
2b. Note that there is no financial penalty to me for using your land in the scenario in 2, as long as I leave when you ask me to. If I were infringing your copyright, however, you could sue me for large sums of money.
Essentially: copyright and land ownership work in two completely different ways. Equating them confuses the discussion because there are a variety of rights that exist for each that have no equivalent for the other. These rights exist to make sure the system is fair. One of these rights is the right to use copyright works that were published a long time ago. Another is the right to acquire somebody else's property through adverse possession. Like it or not, both of these are important rights.
If the batteries in these cars last as long as my laptop batteries have, the owners are in for some serious disappointment.
The problem with your laptop batteries is due to the fact that they haven't been looked after properly. In order to get serious lifetime out of li-ions, you need to keep them cool. The battery pack in a Tesla is air-conditioned. The battery pack in your laptop is slung right next to a ridiculously hot CPU and hard drive, and has almost zero airflow.
Didn't Boeing say they won't be testing carbon fiber wings to the point of failure because they'd need to call in the hazmat team?
The stuff I saw about boeing's CF wings suggests that the reason they didn't test them to failure was probably because the failure point would be so far outside normal operating parameters for such wings that it wasn't worth it. The standard health and safety requirements for cutting and breaking CF composites are that it should only be done in a well-ventilated area. I wouldn't worry unless you crash it indoors.
Actually I was wondering why it doesn't have just the one ratio. I assume the reason was to get a nice high maximum speed, ie, the top gear is an overdrive.
Yep, that's exactly right. They're also planning on replacing the gearbox with a single-gear one (slightly higher ratio, IIRC) starting some time next year, IIRC. There's lots of technical posts on their blog about this kind of stuff. Look for articles discussing "powertrain 2.0".
Actually I was wondering why it doesn't have just the one ratio. I assume the reason was to get a nice high maximum speed, ie, the top gear is an overdrive.
Yep. And they've decided to scrap it in favour of a single speed, slightly higher ratio gearbox on newer models, also. I think they'll start delivering those in about 6 months or so, from what I read on their blog.
AFAIK, breakdown services (in the UK at least) bill you the full cost of delivering fuel to your vehicle / recovering it, since it was your own dumb fault for running out. I imagine that they'll pretty quickly start applying the same principle to electric vehicles, if it's not in their contracts already.
I dare say they will. However, if you've spent £50,000 or thereabouts on a second car (as this will be for almost everyone who has one, because the range isn't long enough for long distance journeys) that saves you money by being cheaper to run than your primary vehicle, are you going to worry about a few hundred quid for recovery every now and then?
"How about a newspaper columnist and few geeks on the net?"
Is that your shoe ringing?
All this meandering is topped off with a quite inexplicable question: "Would you believe, Merriam-Webster's?"
No? Well how about Collins Pocket?
Lets say you have a 100gb hard drive, and have decided to break away 15gb of that for an alternate volume. Since the OS has to be on it, it can't be very small (300mb for example) as you could do normally with an obvious encrypted disk image document.
It is not a common usage pattern of truecrypt to install an OS on the hidden volume. In fact, I don't believe you would be able to boot such an OS. A 15GB hidden volume would therefore be unusually large. The only application I can see for that is storing large quantities of sensitive video files. I can accept that for such an unusual requirement truecrypt may not be ideal, although it isn't as weak as you suggest.
Unfortunately, over time data is spread around on your hard drive. All current OS's move the next available block pointer forward on the drive as it's used.
Not true. FAT filesystems (the only supported filesystem type if you want to use hidden partitions) reset the free block pointer on each remount, as it isn't stored on the disk. This has the effect of concentrating usage on a FAT fs at the start of the volume. There is usually a large chunk of free space towards the end of the disk (unless at some point the disk has been completely full and it hasn't been defragged since).
If you've provided your 2nd password, truecrypt will "hop" over the hidden partition to avoid damaging it. But that's the problem.
It would be if it were true. However, truecrypt does not actually do this. All it does is write-protect the sectors in the hidden partition, which means that if your OS tries to overwrite it, you will get error messages. The data will not be redirected to somewhere else on the disk.
If you continue to use your trojan partition, a simple look at used disk space will see a fairly even coverage mix of free and used blocks, except for one conspicuous, contiguous 15gb chunk of unused space, smack in the middle of the "only volume" on the disk. It could be very difficult to explain to someone analyzing your drive.
I've used truecrypt extensively in the past, and I've never seen anything like this. You need to remember to regularly defrag the primary volume, which has the side effect of compressing the usage down into the earlier parts. Also note that truecrypt hidden volumes are always at the end of the disk, not in the middle. This works well with the pattern of usage seen in FAT systems (as I describe above).
You mean like purposefully destroying evidence, right?
It isn't evidence unless it has already been seized by the police/a court.
Obviously his specific use for truecrypt is to protect data in transit, should he lose the USB drive.
I think that's a very common scenario.
Your 'solution' completely negates the value of that use of truecrypt.
That specific scenario is best dealt with using an encrypted archive file which can be decrypted with user-mode software on the PC he wants to use the files on. Using a system that requires a driver installed on the PC is unnecessarily complex, and is asking for compatibility issues.
If people could be held responsible for 'inciting' suicide, it'd be terrible. Imagine, you break up with your girlfriend and she decides to do something stupid, and suddenly you're to blame. Imagine, you tease someone a little, as is normal among friends, but that person takes it too seriously and a court finds that you've incited suicide. Imagine you do nothing, but this girl has a crush on you and kills herself because she thinks she can't even talk to you.
Depends how it worked. In this case, the incitement to do it was quite blatant: the last message sent to the girl before she did it read "You are a bad person and everybody hates you. Have a shitty rest of your life. The world would be a better place without you." The intention there is quite clear.
I agree that charging Lori Drew with a felony simply for signing onto MySpace under a false name is reaching, but using a false name with the intent to harass someone should be illegal. If your harassment causes the person's death, then you should be liable for at least involuntary manslaughter.
But they _have_ charged her with a crime that is simply signing onto MySpace using a false name. If she's found guilty, it sets a precedent that anyone who has done this, whatever the reason, has committed that crime.
If you think that using a false name with the intent to harass someone should be illegal, the appropriate thing to do is lobby your representatives to pass a law that makes it so.
the fact is that to be effective a P2P program MUST send gigabytes of data upstream to multiple destinations. It's inherent in the nature of the beast.
All one has to do to spot it is meter the connection and count bytes...
Speaking as a heavy user of VoIP and video conferencing software, you're talking about blocking my completely legitimate traffic.
Bingo. I'd like to see an analysis of these amendments written by somebody who does understand them in terms of all their implications, but the linked analysis is blatantly wrong in many aspects. One that stood out to me:
This is interpreted by La Quadrature as mandating TPM. As I read it, it actually does the opposite: it states that member states are not allowed to require such measures: "Member States shall ensure ... that no mandatory requirements ... are imposed on terminal equipment [etc]". The directive as it stands without this amendment could be interpreted as requiring TPM.
The xilinx fpga tools run just fine (perhaps better) from the command line, and have native ports to linux. I believe the same is true for Altera.
Yep, Altera's tools are available for Linux also.
The other thing that occurs to me based on the suggestion that the box will be used for FPGA synthesis: this is a very resource-intensive app. X11, not so much. Just run a damned X server and ignore the ~20MB it'll use. You presumably have at least 1/2 gig of RAM in that machine -- if not, you really need more for the application you want it for.
Four letters:
NaCl
Earth is full of it. And so are you.
Do you want to engage in some kind of debate about this, or just resort to name calling? What about my statement do you think is wrong, and why?
You can't post from the cache. When you clicked the 'submit' button, your request went to slashdot rather than the cache, and therefore was associated with your normal login details.
Did you know DNA is what makes a lot of the choices in your brain? Right, in every neuron, every time it fires, messages go into the nucleus (that's the dna's housing and equipment) and get translated by RNA and DNA... the resulting parts of the neuron that fire are due to the response from the DNA!
Erm... not really, no. Most "firing" of neurons (generation of action potential) happens on a purely electrical basis. There is chemical modulation of this based on quantities of neurotransmitters that are produced by the nucleus, but this only takes place on a very long term scale (think minutes, not the milliseconds it takes for an action potential to propogate).
Besides, so what if it does? DNA is responsible for governing _every reaction that goes on in our body_ by determining what new substances are to be produced based on the quantities present of other substances. That's simply how life works.
We use this same thing to make RNA computers that can do massive calculations in a fraction of the time it would take our current PCs to do it (well, the setup takes a while, yuk yuk.) This building blocks of life, which came about in a cave as the world cooled off from its volcanic eruptions, just randomly have supercomputing ability?!
The stimulus/response mechanism provided by RNA is an important part of life because it allows it to rapidly adapt to changing circumstances. But (1) it isn't really a "supercomputing ability". At least not until a lot of it has accumulated in the same place. Early RNA was probably extremely simple compared to what we see today. And (2) it didn't have to occur randomly in a form anything like as complex as RNA. Current theories of the origin of life include a few alternatives, including a much simpler system called PNA that might have evolved into RNA, and the possibility of "metabolism-first" abiogenesis which allows for a self-perpetuating cycle to exist and evolve without the complexity of a self-replicating information store. It then evolves such a store and begins replicating.
you mean like how meteorites are apparently square? Seriously, wtf was that.
A cube is probably the least likely structure to carry surviving life. A sphere is the strongest, and therefore the most likely. A cube was probably therefore the best simple structure to simulate.
On Windows any executable or library currently in use is locked such that the file cannot be deleted, renamed, or overwritten. To replace a locked DLL the installer must write the new version to a temporary location and set up a script to complete the process on the next startup, when the DLL is (hopefully) no longer in use. Processes started before that point load the old DLL.
Not true any more. Windows 2000 and up running on NTFS can replace in-use files, unless the application using them has specifically locked them (the sequence of operations is: rename old version, install new version in its place, delete old version - the file will remain visible on the FS until the last open handle to it is closed). Also, since Windows XP most DLLs should be installed using 'WinSxS' that allows multiple versions to exist concurrently.
I can't remember the last time I've "had to" compile anything from source under Linux. That's what apt (or whatever package manager) is for. The only times I compile things from source are when I feel like it because I'm being geeky, or when it's some really esoteric package that, frankly, you wouldn't even have under Windows (hydra comes to mind).
Things I've had to compile from source recently:
- The driver for my USB broadband modem, which wasn't included in the kernel from my distribution.
- A patched version of the USB serial driver, because the default one couldn't keep up with the above modem (no similar problems occur in windows)
- The driver for my 802.11g USB interface, which isn't included in the mainline kernel at all yet.
- An IMAP server (UW-IMAPD; a binary version is included in my distribution but certain important configuration options can only be modified by recompiling).
Of these, I'd say only the latter was something that an average user wouldn't want to do.
A fresh install of Windows has, well, nothing really. [...] Where's the DVD player?
WMP can play DVDs just fine.
Where's the IM client?
MSN Messenger is part of the base install of XP.
In the meantime, the -art- and -science- of programming language design seems to have withered away due to lack of interest from the developer community.
Bullshit. We're seeing plenty of new language design work, some of which is really interesting and generating new languages which actually have useful advantages over other currently available ones. See (for example) the latest version of C#, Ruby, OCAML, and Scala, all of which are interesting languages with innovative designs that have come to fruition since Java and/or Python.
Ugh, apparently I need to choose a more explicit example, as you're too thick to understand. Let's say I have this:
if (true):
print "Hello World"
for i in range(1,10):
print i
print i + 1
Now, insert the for loop into the if statement, before print statement, and use the editor to reindent the block. And good luck.
OK. I open up SlickEdit, and start a new Python file. I paste your example code into it. I do some quick fixes that wouldn't be necessary if I hadn't pasted code from a web site (converting your spaces to tabs). I then put my cursor on 'for', Edit/Select/Code block, and press tab. Done.
Except, of course, that Python doesn't provide enough context for an editor to properly indent blocks automatically, as there's no proper block delimiters. So, if I, for example, need to change the level of nesting in an existing block of code for some reason (say, introducing an if statement, or factoring some code out into a separate function), the editor can't help me to ensure I get the indentation level right.
What do you mean it can't? As long as the indentation was right to start with, it's a simple matter of selecting the appropriate block and indenting or unindenting by a constant amount. Every programmer's editor I've ever used is capable of doing this.