I don't mean to start a holy war, but I have to admit that Windows Media Audio sounds better than MP3 at the same bitrates. Of course, it is Microsoft, the EULA on it sucks, and it's proprietary/closed/what have you, but I have noticed it sounds better.
For reference, my music is ripped to 256 kilobit MP3s, but when loading stuff onto portable players, 64 kilobit WMA actually sounds decent. Seriously; compare it.
C programmers have to live with compiler bugs and application bugs, programmers in type-safe languages only have to live with compiler bugs.
Well, no, if Authenticate(user, password) is simply "return true", that's an application bug. Granted, those are tracked down in testing more than buffer overflows, but other languages are just as susceptible to this.
lean native code that is guaranteed not to crash
<chuckle> I bet forcibly removing a kernel module while it's in use or any number of other strange scenarios could confuse it badly enough to make it crash.
By "get rid of C", I mean, get rid of C where it is inappropriate: application development.
I will agree in that developers do not often enough choose the right tools for the job. Many C programmers write everything in C, when their task could be easily completed in Perl, PHP, or even with a shell script. However, by the same token, C is not always inappropriate for application development; in many cases some other tool would work just as well, but in many other cases being able to do typecasts and fast array traversals will give you that extra 10% that you absolutely need. An excellent example: the game Abuse, from crack dot com. (You can find it on Google, if you try.) It had an intelligent design: 90% of the code was high-level interpreted language (LISP), 9% was the game engine (C), and 1% was the time-critical graphics code (x86 assembly). There's no way you would get reasonable framerates on the machines of that era using LISP for the entire game.
empirical evidence suggests that exploitable compiler bugs are rare
Agreed, but they still do exist.
a microkernel (probably written in C) with the option of writing certain OS services, like maybe the file system, in other languages
That could probably work, but frankly in the kernel I want that 10% speed increase from well-crafted C code. (Figurative 10%, I know, I know... but the point stands. For now at least, native code produced by an optimizing compiler with vanilla C code will make better use of the hardware.) Personally, I would be much happier having the file system control its own internal data structures without all kinds of checks here and there to make sure the programmer didn't do something stupid -- that's what people are for. Besides, high-level languages often do too much for use inside a kernel; like how do you write a VMM? (Remember, you can't allocate any memory.)
check out typed assembly language
Assembler is still not type-safe. The type-checking is an intermediate language that evaluates down to "real" x86 assembler, and unless Intel decides to make some serious changes, the CPU is not going to make sure the value you're incrementing is an integer.
It's pretty cool, actually, since it makes compiler bugs
The alternative to using said "stealth case" is to run a quieter power supply with a cool-running CPU. Such systems are easy to obtain; you could either use an early 486 or unplug your Athlon. Of course, you don't get much processing power either way, but it sure is quiet. You could even use a mirror in full sun; it processes at the speed of light!
Incidentally, I have a Gateway 486 DX2 that has had all of the parts replaced except the case and power supply. It's completely silent; the soft hum from my printer's wall wart is louder. (Makes a great firewall, I might add.)
Hmmm... get rid of C for security-critical components. What, you want to run kernel modules written in Java? Or would you rather re-write the entire kernel in Java... that'd be fun. Another question: what language do you think your JVM written in? Or if you want to take your "secure language" and compile it into directly executable machine code, what is to say that the compiler has no flaws?
My point is twofold: first, you can't get rid of C entirely (on Linux at least); second, secure languages rely on insecure languages to function (assembler is not type-safe!).
Once on VCD, what then? It melts if it wanders out of my home, like a holodeck character walking out of the holodeck?
No, you simply get hauled off to jail. Video capture cards will watch for a watermark, CD-burners will ensure they are used by only authorized software, and so forth.
Actually, what's kind of amusing is that I have been able to dub DVDs flawlessly by piping them through an old VCR; no need for the illegal Macrovision bypasser things.
Technically, you're never going to get zero gravity. And yes, you're right, ISS isn't anywhere near that -- it's in orbit, and uses gravity to stay that way. ISS and the like are weightless (or near weightless) because they are effectually in a free fall; this state is termed "microgravity".
I was going to say the same thing. Mackie manuals are some of the funniest things I have ever read. Things involving pirates, RV parks, and the legal status of blinking lights. Absolutely hilarous.
Of course, the Mackie boards still bleed too much for my tastes, but oh well.
Well... there's about 530,000 minutes in a year, thus, it produces 1 kWh/minute, or 60 kWh/h... which equals 60 kilowatts. So, it's not a small power plant -- it's a tiny power plant.
Little extra zeros tend to change the value of the number:-)
Uhhhh... it's a development kernel. It's not supposed to be stable. Don't go complaining that it destroyed your file system; you were the one who opted to install it.
Besides, if you don't like it, you could dig around in the source to fix it... or, you could apply just a little bit of effort and file a bug report.
I would have thought that stealing someone's life, or the lives of many, would be the worst type of theft. Please correct me if I'm wrong, but I think life is more important than a string of ones and zeros.
Of course, those ones and zeros are fun to play with, but still.
Any catastrophe that could knock out power to your outlet is going to be big enough to ruin the UPS in the process.
What about high winds knocking over power lines? Or too many laser printers on one circuit tripping the breaker? Neither of those (usually) toast a UPS. Circuit breakers and fuses generally prevent the average commercial quality UPS from dying.
UPS systems exist for a reason; to supply backup power for small hiccups, to protect from surges, or possibly to give power for just enough time for the generators to get online.
If you got it for cheap, used, its batteries are probably shot. Like most laptops, replacing the batteries on an older UPS would often be more expensive than simply replacing the UPS.
A lot of companies bought a UPS or two at more or less the same time (remember the dot-com days?) and these are about at the end of their operational life. So, if you see a cheap used UPS on ebay, it's probably worthless.
Re:Why convert DC to AC to DC?
on
Do-it-yourself UPS
·
· Score: 3, Informative
Well, for one, your computer isn't simply running 12V -- you need 5V and in most cases 3V as well. (Possibly others.) Additionally, some components (AMD processors in particular) have very narrow operational ranges in terms of how much juice they get, and battery levels fluctuate.
Yes, you could work around this without going to AC, but it's easier and more flexible to just provide AC and let the power supply worry about the rest.
Or, then again, instead of building one you could scour your local office supply stores and just might happen to get lucky. I got a "last year's model", 650 VA UPS, new but in a beat-up box in the clearance bin. It really looked like trash and subsequently was repeatedly marked down from well over $100 to $10.
Somehow, I get the nagging feeling that this pristine condition UPS (that I'm using right now) was worth more than $10:-)
Wait -- 10 year old Alpha project being WINE, or Windows? Looking at stability, I'm not sure any more:-)
Actually, I take it back. Windows 2000 on the desktop is actually quite stable. But still... compared to most "release" software for Linux, it ought to be considered alpha.
Amusingly, Gentoo Linux users can install WineX with a single command. It is packaged (I assume) from the Sourceforge CVS, and given that Gentoo compiles everything from scratch, conveniently sidesteps the whole distributing binaries thing.
By the way, for fellow Gentoo users, a 2002/05/11 ebuild is currently available by "# emerge winex". Check the package list for the most recent date.
Low-level format in the BIOS is typically (in my experience) found for SCSI devices; very rarely is there a low-level format option for IDE drives. And besides, you're wrong, fdisk isn't a Microsoft thing; fdisk exists for *nix as well.
Furthermore, people can get data back after a low-level format. Forensic labs have been doing that for years. From the New York Times article "The Mole in the Macine":
"It's very difficult to be sure data is ever actually taken off a hard drive," Garfinkel says. "You might think you could just wipe the disk but that won't do it." The reason is that a six-gigabyte drive often has an additional four gigabytes of storage. The excess, which is invisible to the software, replaces "blocks" of storage capacity on the drive when they begin to fail. As a block goes bad, the disk copies data from the failing block to the reserve blocks. Disk-wiping software typically erases only the roster of good blocks, ignoring hidden blocks, which may still contain data.
Nodes don't control what they mirror because that would defeat the log(n) lexical routing system and the intelligent caching system. If you're in an area of the network that is constantly requesting a single key (i.e. the MySlashDottedHomepage freesite), yeah, your node will mirror it over, say, MyBoringUnpopularHomepage. That makes sense, does it not?
And you are correct -- the only way to be sure you're not helping out the child porn sickos is to shut down your node. But then again, that would prevent the people in China from learning about things their government denied access to or to help distribute the latest kernel tarball. Besides, if you could control (or even knew) what you were mirroring, other people could figure it out, and you could get into legal headaches. As is, there's no way to prove that data is actually on your node without possibly helping that data spread.
Correct, the open content network and Freenet do have different philosophies -- however, they share similar technical goals and Freenet (unlike the other project) actually does something.
Throughput - Browsers will be able to download content from multiple sources in parallel
Bandwidth Savings - Browsers will automatically discover and select the closest mirror for a piece of content. Fault Tolerance - Even if a site goes down in the middle of a download, browsers will automatically locate another mirror and continue downloading. Scalability - Any number of machines may be added to the network, creating a CDN ad hoc, with very little administration. Security - Browsers will be able to safely download content from untrusted mirrors without risk of corruption or viruses.
Right on target. Freenet accomplishes these goals, and actually works right now. Freenet is essentially an anonymous, distributed caching system into which anyone can insert data and retrieve it later. It supports both locating information by content hashes or by a human-readable redirect, as well as lots of really cool features like anonymous websites ("freesites"). So... what are you waiting for? Install Freenet today!
Tree Hash EXchange format (THEX) - Coming 05/2002. This document defines a serialization and interchange format for Merkle Hash Trees. These hash trees allow very efficient, fine-grained integrity checking of content in a distributed network.
It seems that files will be referenced by their hash and thus ensure that data has not been corrupted, and also in this manner will eliminate the "renaming files changes contents" thing that many P2P networks seem to believe in.
Of course, Freenet does this and more -- and already works -- so why not use it? Integrity checking, intelligent caching, and high anonymity to boot.
I don't mean to start a holy war, but I have to admit that Windows Media Audio sounds better than MP3 at the same bitrates. Of course, it is Microsoft, the EULA on it sucks, and it's proprietary/closed/what have you, but I have noticed it sounds better.
For reference, my music is ripped to 256 kilobit MP3s, but when loading stuff onto portable players, 64 kilobit WMA actually sounds decent. Seriously; compare it.
Well, no, if Authenticate(user, password) is simply "return true", that's an application bug. Granted, those are tracked down in testing more than buffer overflows, but other languages are just as susceptible to this.
<chuckle> I bet forcibly removing a kernel module while it's in use or any number of other strange scenarios could confuse it badly enough to make it crash.
I will agree in that developers do not often enough choose the right tools for the job. Many C programmers write everything in C, when their task could be easily completed in Perl, PHP, or even with a shell script. However, by the same token, C is not always inappropriate for application development; in many cases some other tool would work just as well, but in many other cases being able to do typecasts and fast array traversals will give you that extra 10% that you absolutely need. An excellent example: the game Abuse, from crack dot com. (You can find it on Google, if you try.) It had an intelligent design: 90% of the code was high-level interpreted language (LISP), 9% was the game engine (C), and 1% was the time-critical graphics code (x86 assembly). There's no way you would get reasonable framerates on the machines of that era using LISP for the entire game.
Agreed, but they still do exist.
That could probably work, but frankly in the kernel I want that 10% speed increase from well-crafted C code. (Figurative 10%, I know, I know... but the point stands. For now at least, native code produced by an optimizing compiler with vanilla C code will make better use of the hardware.) Personally, I would be much happier having the file system control its own internal data structures without all kinds of checks here and there to make sure the programmer didn't do something stupid -- that's what people are for. Besides, high-level languages often do too much for use inside a kernel; like how do you write a VMM? (Remember, you can't allocate any memory.)
Assembler is still not type-safe. The type-checking is an intermediate language that evaluates down to "real" x86 assembler, and unless Intel decides to make some serious changes, the CPU is not going to make sure the value you're incrementing is an integer.
Oh, so it really is a feature! :-)
The alternative to using said "stealth case" is to run a quieter power supply with a cool-running CPU. Such systems are easy to obtain; you could either use an early 486 or unplug your Athlon. Of course, you don't get much processing power either way, but it sure is quiet. You could even use a mirror in full sun; it processes at the speed of light!
Incidentally, I have a Gateway 486 DX2 that has had all of the parts replaced except the case and power supply. It's completely silent; the soft hum from my printer's wall wart is louder. (Makes a great firewall, I might add.)
Hmmm... get rid of C for security-critical components. What, you want to run kernel modules written in Java? Or would you rather re-write the entire kernel in Java... that'd be fun. Another question: what language do you think your JVM written in? Or if you want to take your "secure language" and compile it into directly executable machine code, what is to say that the compiler has no flaws?
My point is twofold: first, you can't get rid of C entirely (on Linux at least); second, secure languages rely on insecure languages to function (assembler is not type-safe!).
No, you simply get hauled off to jail. Video capture cards will watch for a watermark, CD-burners will ensure they are used by only authorized software, and so forth.
Actually, what's kind of amusing is that I have been able to dub DVDs flawlessly by piping them through an old VCR; no need for the illegal Macrovision bypasser things.
Technically, you're never going to get zero gravity. And yes, you're right, ISS isn't anywhere near that -- it's in orbit, and uses gravity to stay that way. ISS and the like are weightless (or near weightless) because they are effectually in a free fall; this state is termed "microgravity".
So, if I were to stop perceiving time, does it cease to exist? Things happen while you're sleeping, you know.
I was going to say the same thing. Mackie manuals are some of the funniest things I have ever read. Things involving pirates, RV parks, and the legal status of blinking lights. Absolutely hilarous.
Of course, the Mackie boards still bleed too much for my tastes, but oh well.
Well... there's about 530,000 minutes in a year, thus, it produces 1 kWh/minute, or 60 kWh/h... which equals 60 kilowatts. So, it's not a small power plant -- it's a tiny power plant.
Little extra zeros tend to change the value of the number :-)
Uhhhh... it's a development kernel. It's not supposed to be stable. Don't go complaining that it destroyed your file system; you were the one who opted to install it.
Besides, if you don't like it, you could dig around in the source to fix it... or, you could apply just a little bit of effort and file a bug report.
I would have thought that stealing someone's life, or the lives of many, would be the worst type of theft. Please correct me if I'm wrong, but I think life is more important than a string of ones and zeros.
Of course, those ones and zeros are fun to play with, but still.
What about high winds knocking over power lines? Or too many laser printers on one circuit tripping the breaker? Neither of those (usually) toast a UPS. Circuit breakers and fuses generally prevent the average commercial quality UPS from dying.
UPS systems exist for a reason; to supply backup power for small hiccups, to protect from surges, or possibly to give power for just enough time for the generators to get online.
If you got it for cheap, used, its batteries are probably shot. Like most laptops, replacing the batteries on an older UPS would often be more expensive than simply replacing the UPS.
A lot of companies bought a UPS or two at more or less the same time (remember the dot-com days?) and these are about at the end of their operational life. So, if you see a cheap used UPS on ebay, it's probably worthless.
Well, for one, your computer isn't simply running 12V -- you need 5V and in most cases 3V as well. (Possibly others.) Additionally, some components (AMD processors in particular) have very narrow operational ranges in terms of how much juice they get, and battery levels fluctuate.
Yes, you could work around this without going to AC, but it's easier and more flexible to just provide AC and let the power supply worry about the rest.
Or, then again, instead of building one you could scour your local office supply stores and just might happen to get lucky. I got a "last year's model", 650 VA UPS, new but in a beat-up box in the clearance bin. It really looked like trash and subsequently was repeatedly marked down from well over $100 to $10.
:-)
Somehow, I get the nagging feeling that this pristine condition UPS (that I'm using right now) was worth more than $10
What, RTFS? Or was a full too long and they decided to remove all the whitespace? </sarcasm>
Oh well... it might be interesting. Though, I'm not adverse to reading C either. :-)
Not to mention 130 watts of power consumption. And you thought Athlons were hard to cool!
Wait -- 10 year old Alpha project being WINE, or Windows? Looking at stability, I'm not sure any more :-)
Actually, I take it back. Windows 2000 on the desktop is actually quite stable. But still... compared to most "release" software for Linux, it ought to be considered alpha.
Amusingly, Gentoo Linux users can install WineX with a single command. It is packaged (I assume) from the Sourceforge CVS, and given that Gentoo compiles everything from scratch, conveniently sidesteps the whole distributing binaries thing.
By the way, for fellow Gentoo users, a 2002/05/11 ebuild is currently available by "# emerge winex". Check the package list for the most recent date.
Low-level format in the BIOS is typically (in my experience) found for SCSI devices; very rarely is there a low-level format option for IDE drives. And besides, you're wrong, fdisk isn't a Microsoft thing; fdisk exists for *nix as well.
Furthermore, people can get data back after a low-level format. Forensic labs have been doing that for years. From the New York Times article "The Mole in the Macine":
You don't need a service pack, just fdisk.
Quick, post it to Freenet; you don't know where it's stored!
Nodes don't control what they mirror because that would defeat the log(n) lexical routing system and the intelligent caching system. If you're in an area of the network that is constantly requesting a single key (i.e. the MySlashDottedHomepage freesite), yeah, your node will mirror it over, say, MyBoringUnpopularHomepage. That makes sense, does it not?
And you are correct -- the only way to be sure you're not helping out the child porn sickos is to shut down your node. But then again, that would prevent the people in China from learning about things their government denied access to or to help distribute the latest kernel tarball. Besides, if you could control (or even knew) what you were mirroring, other people could figure it out, and you could get into legal headaches. As is, there's no way to prove that data is actually on your node without possibly helping that data spread.
Correct, the open content network and Freenet do have different philosophies -- however, they share similar technical goals and Freenet (unlike the other project) actually does something.
Right on target. Freenet accomplishes these goals, and actually works right now. Freenet is essentially an anonymous, distributed caching system into which anyone can insert data and retrieve it later. It supports both locating information by content hashes or by a human-readable redirect, as well as lots of really cool features like anonymous websites ("freesites"). So... what are you waiting for? Install Freenet today!
</plug>
From the website:
It seems that files will be referenced by their hash and thus ensure that data has not been corrupted, and also in this manner will eliminate the "renaming files changes contents" thing that many P2P networks seem to believe in.
Of course, Freenet does this and more -- and already works -- so why not use it? Integrity checking, intelligent caching, and high anonymity to boot.