Their thinking was that the secretaries would be swapping recipes via photocopies and not buying cookbooks as a Good Citizen should.
Who would fund the creation of new recipes if everyone shared them freely? Without copyright protection, we'd all be eating gray sludge fortified with nutrients.
This seemed to be geared toward quantum computing, but I was wondering if the same technique could isolate a significant mass of highly energetic matter, e.g. newly created antimatter? We've only been able to capture an almost negligible fraction of that so far.
This is not because it is hard to capture, but because it tends to annihilate upon contact with ordinary matter. So if you put it into a trap it will slowly vanish unless your vacuum is very pure.
Not to say it is not used - Tevatron collides proton and antiproton beams, so not only it produces significant quantity of antimatter, but it is used as a consumable for researching something else (which is likely Higgs)
Anyway, the other think to consider (especially for things like laser-based launches) is that the current "spit out a ton of speed really quickly and then coast your way to orbit" approach really sucks. Even a slow nice steady boost will get you to orbit without needing to hit escape velocity.
There is a good reason for that - if you are carrying your reaction mass with you then it is more energy efficient to expend it quickly rather than drag it out.
Labview is crap -I could not figure out a way to have it write numbers with more than 6 digits precision (for timing) into the file, had to have two columns, and their idea of FPGA programming is beyond ridiculous - but NI hardware is also dangerous.
I have heard of people running a year long measurement with their devices only to find out later that the hardware periodically autocalibrates which looks like a glitch in the system. And there is no way to find out when autocalibration occurs. The 10k system we got has one sensitivity number in the data sheet, no response curves and is full of feedthrough from Ethernet interface, even when inputs are shorted with resistors.
The thing is there is too much pressure on companies to make a quick sale, and flashy boxes and hardware that is "easy" to use is what makes the sale.
My personal advice - get at least one old analog scope Tek 3xxx and make the digital acquisition system yourself, using microcontrollers or FPGAs (I like digilent boards myself). Buy parts directly from companies like Analog or TI - if device description does not look like one of Analog or TI's datasheet it probably has some issues the manufacturer is ignorant of.
Writing graphics card drivers is a way to get closer to the hardware. They have many interesting gadgets (like PLLs) that give a taste of interfacing with a real world.
For 3d drivers, I recommend reading a book on OpenGL, downloading Noveau code and reading it. Lurk on the mailing list for a few weeks and then ask developers for a simple task to help with.
Test with your applications and report bugs with as much information as possible. Try fixing the bugs yourself.
Welcome to the English language. When 99% of the population understands a certain word to mean a certain thing, then that word does, in fact, mean that thing.
And this makes those who use it properly even more 1337.
A simple solution - make two screens a single desktop, install KDE 3.5.1 and create one panel for each display. There is nothing in KDE that prevents you from having more than one.
And you can connect several USB keyboards you feel like it..
Were you not suspicious of the "military grade" claims? Frankly, you're digging yourself further into a hole. It doesn't sound like you did any due diligence whatsoever - you just bought a product because it was cheaper without doing any research. To anybody with any experience, this scenario would have raised serious questions.
Anybody with experience would know that the best way to judge a product is to acquire a sample and test it. Which is exactly what we did. $2-3K is not that much money for a (claimed) working drive (compare with high-end fiber channel ones with much slower speeds), it is the refusal of the company to support their product that made sure we will never buy anything from them again.
And we did talk with the representatives (which seemed to know what they were doing) and looked at the more detailed benchmarks before buying the drive.
Interestingly enough, the reason for acquiring the large disk in the first place was that it was meant for a proprietary database full of legacy code that was Windows only. Apparently Windows has a tough time scaling up transactions per second over network protocols so one could not just get a Linux SAMBA server with enough RAM to store the entire working set - it had to be a standalone disk.
Didn't that raise any alarm bells for you? Did you not for one moment think that "lack of quality" might be the reason behind this massive price discrepancy? I mean, do you buy watches from street vendors claiming to have genuine Rolex watches, or what?
First, there is a difference between a street vendor and a company that sell military grade products and has presence in the retail chain.
Secondly, it was still a rather high price - more than $2k when comparable disks of half the size went for $600. It is quite reasonable to assume that they just packed twice as many flash chips.
Lastly, I have generally good experience with US based companies, so it was surprising to find out that SuperTalent does not stand by their products, especially expensive ones. If they fixed the issue we would have ended up buying a lot more disks.
Who the hell buys a product from a company named "Super Talent"?? I guess I have my answer now, but why they let you buy it is another mystery.
A person who looked at their website, noticed that it is US based and has several high-end products. Back then it was the *ONLY* solid state drive in that capacity that did not cost more than $10K. And since when is it too much to expect for any disk drive to retain data for a few minutes ?
When flash drives became available I talked my company into buying Supertalent 256 GB drive for $3000 for one of our database servers. The first thing I did was to run an md5sum check to verify that the drive functions ok. And, of course, I find that for each 200GB file copied I would find a few errors. They would occur in different places each time, so it is not a matter of a bad flash chip. Sent it back. Got back a new drive, tried the same test, again a few errors. Tried to return it - no luck.
By now there were cheaper OCZ 128 GB drives. Got two, RAID0, worked fine for several months until the database filled up the disk space. The company bought one more drive and after a few more months discovered databases corruption.
For comparison, regular TB sized drives invariably give identical md5sums, even if the files are copied around the network and have to pass through all kinds of hardware.
Thus - if you buy a solid state drive make sure to personally check that its error rate is what you can live with.
This is due entirely - it is theorised - due to our aqueous origins when we were evolving eyes and doesn't make the materials any less fascinating!
An additional consideration is water absorption spectrum which has a big dip right where "visible" light is (in a wide sense - it extends a bit to UV and infrared). So being sensitive to Sun's rays (say for navigation) requires sensitivity to visible light, regardless of whether you live in water, air or dry land, as Suns spectrum is filtered by the atmosphere early on.
It's not that I don't agree that there could ever be a situation such as you describe, however I can easily imagine plenty of situations where it still would be easier to create a wrapper for the library than to re-implement the required parts.
My objection is to your saying that it will ALWAYS (or close to it) be easier to re-implement the library. That is hardly a reasonable claim in my opinion.
I did not say "always", I said "usually":))
The fact is that most libraries implement fairly simple algorithms, but do it in a particularly convenient and/or efficient way. If you are doing this over the network (one way or another) both of these considerations go out the window and you could just as well open "Numerical recipes" or "Art of computer programming", find the right page and type the code in.
The one exception is that you need a particular operation to be performed a few times and you can just as well write a client that uses the library and then call "system()" to invoke it. Could happen, but not a usual situation in most programs... I hope:)
Generalizing from what you said, noboday ever needs libraries because 1) programmers can just write the code themselves instead of using the libraries 2) non-programmers obviously have no use for libraries.
Your statement makes no sense at all.
Sure it does. If you are ready to design your own protocol to encapsulate communications with the library and then implement it - which is no easy task - you can just as well take parts of the library you need and reimplement them. In most cases these are just a few functions and are much simpler than network design, especially since you have the original library to test against.
On the other hand, if reimplementing those library functions seems difficult than I would not expect the over the network implementation to work well either.
what's to stop me separating my program into a GPLv2-compliant client app that talks to the rest of my (choose my own license) application?
If you were ready to write your own code, you could just as well rewrite the library. In fact, it is usually simpler as your application likely uses only a small subset of functions said library provides.
It's obvious that as the entitlement generation grows up we'll see more of this: "I should get a job even though I'm mediocre at what I do and if I don't then I should be able to sue someone".
...
Employers, especially larger ones, feel "entitled" to canned labor without job training.
It is not the "entitlement" that is the problem, but rather a general lack of honesty. The grades universities give out do not judge the actual knowledge of a student. Getting a "C" in a technical course usually implies big gaps in understanding of core concepts which, in a few years, lead the student to forget almost all the course. So getting all "C" is closely equivalent to not going to the university at all.
What should be happenning when the student deserves an F they should be warned away early enough and recommended a prerequisite course - in most cases, it is not the ability of the student that is the matter, but, rather, total inadequacy of high school education.
For example, most technical students would benefit from solid logic course (which would teach logic and foundations of computer science) and analytic geometry (which will improve their algebra and teach them to translate between formulas and geometric shapes). But, no, everybody is rammed through a computational calculus course which is a remnant of the time when corporations needed rooms full of people taking integrals to design a new plane or a building. And even that is not done honestly - modern courses incorporate computation algebra software, so the students are simply taught to push the right button.
Except they can't sue for copyright infringement, since its under the GPLv2 just as the rest of the kernel, and while they theoretically could sue over patent infringement, that applies to any and all code more complex than "hello, world", and goes for all companies.
That's what Linus is warning against, just because you hate them doesn't mean you have to leave your rationality aside.
And I distinctly remember some nice level headed comments that Linus made about Bitkeeper. We know how that turned out.
Microsoft got the reputation they have for a reason and "hatred" is merely an accumulation of experience of many people. It is not our fault it is very negative.
Also, what USB driver are you using? CyUSB? If so, make sure you use overlapped reads or you'll miss tons of data.
Ahhh, this is good advice ! I am using libusb, but I suspect it has a similar problem. I was doing bulk writes (from the point of view of FX2), I think I hit the limit around 16-20 MB/sec.
Unfortunately, no... it seems there are numerous boards with 10/100 Ethernet interfaces but I haven't seen any GigE or better, except for the expensive Virtex-based ones like the NetFPGA board. Digilent had something called the FX12 for awhile that had a Webpack-supported Virtex chip and a GigE port, but it's been discontinued.
In theory, it should be simple enough to make our own board with just the PHY. Of course, the problem is that I don't know of anyone who can comfortably solder BGA chips.
I don't think the 8-bit path between the CY68013 and FPGA is a bottleneck, really. With an IFCLK of 48 MHz, you'd have to be able to shove 48 MBytes/sec through the endpoint to be bus-width limited, and that just isn't going to happen over USB 2.0. You'll have to spin on FIFO-full either way.
True, but I was not able to get the FX2's pipe to operate reliably on every edge of IFCLK. This might have to do with the fact that my data transfer FPGA logic is clocked off IFCLK as well, but might be a limitation of the FX2 or board design.
I agree that Gigabit (or 10G) is the way to go, but do you know of any convenient boards (like Nexys) for that ? Thank you !
But you said you need a separate parallel cable for programming the JTAG flash, if I read it right. Andy Ross's project has Fx2 code to do this over USB. That is what I suggested you could combine with your project, to dispense with the need for a separate JTAG cable. Is your code available?
Ahh, interesting suggestion ! I'll take a look at Andy's code when I have a chance. Yes, my code is available if anyone wants it - it is really quite simple, initialize registers and then wait for data. It might be better to add a couple of data transfer endpoints to Andy's code instead.
It sounds like maybe you could combine that with what you have done, and get both programming and data transfer. I have no interest in programming the on-board microprocessor -- I just want a communications channel between a Linux host and an FPGA. Digilent provides a good communications channel between Windows and an FPGA, but not Linux.
But this is how I communicate with FPGA - I upload custom firmware to FX2 chip (that overwrites Digilent one) and talk to it. This allows you to implement different endpoints, etc.
I wish Digilent did not use some of the FX2 pins for JTAG - this halved the bandwidth to the chip (FX2 can have a 16bit pipe to external chips, but only 8 bits are connected to FPGA).
Actually, you can program Nexys under Linux - I upload firmware to FX2 chip using fx2_programmer and I program the FPGA and flash using parallel JTAG cable.
Who would fund the creation of new recipes if everyone shared them freely? Without copyright protection, we'd all be eating gray sludge fortified with nutrients.
This is all the body needs.
This seemed to be geared toward quantum computing, but I was wondering if the same technique could isolate a significant mass of highly energetic matter, e.g. newly created antimatter? We've only been able to capture an almost negligible fraction of that so far.
This is not because it is hard to capture, but because it tends to annihilate upon contact with ordinary matter. So if you put it into a trap it will slowly vanish unless your vacuum is very pure.
Not to say it is not used - Tevatron collides proton and antiproton beams, so not only it produces significant quantity of antimatter, but it is used as a consumable for researching something else (which is likely Higgs)
Ah, Heinlein, may you never cease to spin.
Anyway, the other think to consider (especially for things like laser-based launches) is that the current "spit out a ton of speed really quickly and then coast your way to orbit" approach really sucks. Even a slow nice steady boost will get you to orbit without needing to hit escape velocity.
There is a good reason for that - if you are carrying your reaction mass with you then it is more energy efficient to expend it quickly rather than drag it out.
I have heard of people running a year long measurement with their devices only to find out later that the hardware periodically autocalibrates which looks like a glitch in the system. And there is no way to find out when autocalibration occurs. The 10k system we got has one sensitivity number in the data sheet, no response curves and is full of feedthrough from Ethernet interface, even when inputs are shorted with resistors.
The thing is there is too much pressure on companies to make a quick sale, and flashy boxes and hardware that is "easy" to use is what makes the sale.
My personal advice - get at least one old analog scope Tek 3xxx and make the digital acquisition system yourself, using microcontrollers or FPGAs (I like digilent boards myself). Buy parts directly from companies like Analog or TI - if device description does not look like one of Analog or TI's datasheet it probably has some issues the manufacturer is ignorant of.
Based on the words in your post: "Nothing" "wrong" "possibly" I am going to short 835710 shares of KAN and DELA stocks.
You can post on forums too ?? Aren't your developers a bit concerned that you start trading based on posts made by yourself ?
For 3d drivers, I recommend reading a book on OpenGL, downloading Noveau code and reading it. Lurk on the mailing list for a few weeks and then ask developers for a simple task to help with. Test with your applications and report bugs with as much information as possible. Try fixing the bugs yourself.
Welcome to the English language. When 99% of the population understands a certain word to mean a certain thing, then that word does, in fact, mean that thing.
And this makes those who use it properly even more 1337.
A simple solution - make two screens a single desktop, install KDE 3.5.1 and create one panel for each display. There is nothing in KDE that prevents you from having more than one. And you can connect several USB keyboards you feel like it..
I recommend EVO
Anybody with experience would know that the best way to judge a product is to acquire a sample and test it. Which is exactly what we did. $2-3K is not that much money for a (claimed) working drive (compare with high-end fiber channel ones with much slower speeds), it is the refusal of the company to support their product that made sure we will never buy anything from them again.
And we did talk with the representatives (which seemed to know what they were doing) and looked at the more detailed benchmarks before buying the drive.
Interestingly enough, the reason for acquiring the large disk in the first place was that it was meant for a proprietary database full of legacy code that was Windows only. Apparently Windows has a tough time scaling up transactions per second over network protocols so one could not just get a Linux SAMBA server with enough RAM to store the entire working set - it had to be a standalone disk.
First, there is a difference between a street vendor and a company that sell military grade products and has presence in the retail chain.
Secondly, it was still a rather high price - more than $2k when comparable disks of half the size went for $600. It is quite reasonable to assume that they just packed twice as many flash chips.
Lastly, I have generally good experience with US based companies, so it was surprising to find out that SuperTalent does not stand by their products, especially expensive ones. If they fixed the issue we would have ended up buying a lot more disks.
A person who looked at their website, noticed that it is US based and has several high-end products. Back then it was the *ONLY* solid state drive in that capacity that did not cost more than $10K. And since when is it too much to expect for any disk drive to retain data for a few minutes ?
When flash drives became available I talked my company into buying Supertalent 256 GB drive for $3000 for one of our database servers. The first thing I did was to run an md5sum check to verify that the drive functions ok. And, of course, I find that for each 200GB file copied I would find a few errors. They would occur in different places each time, so it is not a matter of a bad flash chip. Sent it back. Got back a new drive, tried the same test, again a few errors. Tried to return it - no luck.
By now there were cheaper OCZ 128 GB drives. Got two, RAID0, worked fine for several months until the database filled up the disk space. The company bought one more drive and after a few more months discovered databases corruption.
For comparison, regular TB sized drives invariably give identical md5sums, even if the files are copied around the network and have to pass through all kinds of hardware.
Thus - if you buy a solid state drive make sure to personally check that its error rate is what you can live with.
An additional consideration is water absorption spectrum which has a big dip right where "visible" light is (in a wide sense - it extends a bit to UV and infrared). So being sensitive to Sun's rays (say for navigation) requires sensitivity to visible light, regardless of whether you live in water, air or dry land, as Suns spectrum is filtered by the atmosphere early on.
I did not say "always", I said "usually" :))
The fact is that most libraries implement fairly simple algorithms, but do it in a particularly convenient and/or efficient way. If you are doing this over the network (one way or another) both of these considerations go out the window and you could just as well open "Numerical recipes" or "Art of computer programming", find the right page and type the code in.
The one exception is that you need a particular operation to be performed a few times and you can just as well write a client that uses the library and then call "system()" to invoke it. Could happen, but not a usual situation in most programs... I hope :)
Sure it does. If you are ready to design your own protocol to encapsulate communications with the library and then implement it - which is no easy task - you can just as well take parts of the library you need and reimplement them. In most cases these are just a few functions and are much simpler than network design, especially since you have the original library to test against.
On the other hand, if reimplementing those library functions seems difficult than I would not expect the over the network implementation to work well either.
If you were ready to write your own code, you could just as well rewrite the library. In fact, it is usually simpler as your application likely uses only a small subset of functions said library provides.
It is not the "entitlement" that is the problem, but rather a general lack of honesty. The grades universities give out do not judge the actual knowledge of a student. Getting a "C" in a technical course usually implies big gaps in understanding of core concepts which, in a few years, lead the student to forget almost all the course. So getting all "C" is closely equivalent to not going to the university at all.
What should be happenning when the student deserves an F they should be warned away early enough and recommended a prerequisite course - in most cases, it is not the ability of the student that is the matter, but, rather, total inadequacy of high school education.
For example, most technical students would benefit from solid logic course (which would teach logic and foundations of computer science) and analytic geometry (which will improve their algebra and teach them to translate between formulas and geometric shapes). But, no, everybody is rammed through a computational calculus course which is a remnant of the time when corporations needed rooms full of people taking integrals to design a new plane or a building. And even that is not done honestly - modern courses incorporate computation algebra software, so the students are simply taught to push the right button.
Qucs is very capable.
And I distinctly remember some nice level headed comments that Linus made about Bitkeeper. We know how that turned out.
Microsoft got the reputation they have for a reason and "hatred" is merely an accumulation of experience of many people. It is not our fault it is very negative.
Ahhh, this is good advice ! I am using libusb, but I suspect it has a similar problem. I was doing bulk writes (from the point of view of FX2), I think I hit the limit around 16-20 MB/sec.
In theory, it should be simple enough to make our own board with just the PHY. Of course, the problem is that I don't know of anyone who can comfortably solder BGA chips.
True, but I was not able to get the FX2's pipe to operate reliably on every edge of IFCLK. This might have to do with the fact that my data transfer FPGA logic is clocked off IFCLK as well, but might be a limitation of the FX2 or board design.
I agree that Gigabit (or 10G) is the way to go, but do you know of any convenient boards (like Nexys) for that ? Thank you !
Ahh, interesting suggestion ! I'll take a look at Andy's code when I have a chance. Yes, my code is available if anyone wants it - it is really quite simple, initialize registers and then wait for data. It might be better to add a couple of data transfer endpoints to Andy's code instead.
But this is how I communicate with FPGA - I upload custom firmware to FX2 chip (that overwrites Digilent one) and talk to it. This allows you to implement different endpoints, etc.
I wish Digilent did not use some of the FX2 pins for JTAG - this halved the bandwidth to the chip (FX2 can have a 16bit pipe to external chips, but only 8 bits are connected to FPGA).
Actually, you can program Nexys under Linux - I upload firmware to FX2 chip using fx2_programmer and I program the FPGA and flash using parallel JTAG cable.