Seconded. If you don't have much electronics experience, you'll probably want to learn some on the side. Both for interfacing practical things, and to understand your designs better. I got started from fpga4fun and it's still a nice reference on some things, even after moving on to more challenging designs.
Got a Xilinx dev kit, and it didn't take me too many weeks to get my project up to a stage where other people started using it.
Besides programming, a background in general electronics does help. Even if you're coding in a somewhat C-like language, it's nothing like a sequential program, but a description of hardware with real, physical parallelity. To me, it often helps to look at a circuit diagram to understand some debugging issues.
Data sheets from chip manufacturers are essential for some of the trickier points. If you need to choose between the two largest players, I recommend Altera over Xilinx, as they are somewhat more open, but mostly there are no huge differences.
Low order bytes first is also the natural order for performing addition and subtraction (multiplication doesn't care either way). It is no use having the highest order byte in an addition until the lower order bytes have been processed to find the carry status.
This is the common argument I have read, particularly for low-end(ian) architectures. However, I've never understood why it would be harder for a computer to start from the last byte, and proceed backwards.
To be fair, a reverse argument along those lines could be made - in comparisons, knowing the highest order byte might be enough to decide the comparison. I'm not sure, but division might also prefer high byte first.
Network byte order is big endian. One reason may be that you can start routing before the entire address is received, though I'm not sure if this is really done outside telephone systems.
Then there is the minor consideration of natural, written numbers. For humans it makes sense to consider the most significant number (order of magnitude) first. It is basically the same comparison argument, only more general.
Consider a single byte. We call the low bit, which contributes 2^0, 'bit 0'. We call the high bit, which contributes 2^7, 'bit 7'. Why shoud we not use the same order for larger constructions?
Because it's the year 2102 and your UID is 6799521.
you can get a siphon effect fairly easily. This draws dirty water from the tub back into the water supply.
I am having a hard time understanding how this can happen. How can two feet of water pressure (depth of bathtub) cause siphoning of water from the tub into the high pressure water system. I don't think I could do this if I tried. If they have less than two feet of water pressure, then yes, they have infrastructure problems.
Perhaps you are talking about a venturi effect? If the sprayer comes off at an angle from the faucet/pipe used to fill the tub, you can possibly draw water backwards into the sprayer hose but this is still downstream from the faucet and will not go back into the main water supply.
I've heard similar explanations for the separate hot and cold water taps in the UK. They say the hot water is not fit for drinking* and a mixer tap might cause a contamination of the cold, potable water supply. Similarly, this would require a serious problem in the infrastructure.
*(Microbiological issues. Here in Finland, we do advise against drinking hot water from the tap, because there is a marginal risk of heavy metal leaching from the plumbing, depending on the age/material of the series of tubes. Of course, this problem does not grow like microbes.)
When Edwin Hubble discovered the expanding universe through red shifts, he exclaimed "Holy Shit!" and "What is this shit?" not knowing at the time that shit is the actual source of the dark energy speeding the expansion.
One of my students recently wrote about "the Doppler shit" in an exam. I didn't realize he was on to something deeper -- the thing that "happens" to the Universe every day.
If you make a $100 bill and it enters general circulation the entire economy just inflated by $100. You robbed everyone who holds dollars.
The same thing happens when you take a bank loan of (a little more than) $100. But it's OK because it's done by banks. Of course, you have to pay back this imaginary money with your real, hard-earned cash.
Fast forward five years and I just don't see this software being all that useful. Sure, there's always gonna be that handful of people who will scream that this is extremely useful because they're always hopping between wifi hotspots but most users are using 3G/4G when they're on the move
Dunno about 4G, but 3G has enough latency to make ssh annoying, so Mosh would definitely be an improvement.
Moreover, I regard Mosh as solving a higher-level problem, and it is simply good Unix style to use another application on top of ssh. There are also many use cases where ssh does not need these improvements, so it is better to keep the core protocol simple.
I presume they could find a cancerous mass in a jaw sooner and save some lives too. Perhaps when smoking/chewing was more prevalent that was a good service, but the odds of a modern nonsmoker getting jaw cancer are likely quite low.
Seems like a nice business plan:
1. Take dental X-rays
2. Which cause jaw cancer
3. Which can only be found using dental X-rays
4. Profit!
5. GOTO 1
As long as x86 CPUs continue to support 32-bit, they'll remain CISC, since there are instructions there that require multiple clock cycles to complete. However, if a CPU came out that no longer supported those modes, then the new 64-bit only CPU would be RISC.
x86-64 is CISC, not RISC. The processors are internally RISC, but the x86 instruction set is Complex. In fact it seems that x86-64 is even more CISC, because they keep inventing new specialized instructions that were not there in any 32-bit x86 CPU.
Perhaps you are confusing this with the fact that there are other 64-bit architectures, most of which are RISC?
I didn't get what you're trying to argue - that it won't be RISC, or that performance will keep increasing linearly or exponentially as one keeps throwing cores at it? (While I don't use sms abbreviations, I do make use of things like '&', '@' since those are by no means indecipherable)
Scaling for a bigger number of cores depends entirely on the application you're running. You cannot generalize these things. I think I know what I'm talking about, having written and run software on a cluster at CERN and the Finnish supercomputing center.
(Sorry about the @ remark, that was uncalled for -- but your post did seem a little like a troll.)
You can't pick and choose - if you want this freedom, you have to accept the restrictions that go along with it.
Hope that helps relieve some of your envy. I think this does not make up for the numerous other disadvantages.
I don't think that's a fair comparison. For example, I enjoy the right not to be mugged by random strangers, but then I agree not to beat up anyone myself. Copying knowledge and information is a different topic, and I'm happy to let everyone copy the works I release. (I'm not a full-time professional musician, but I occasionally get paid for gigs, which IMHO is fair compensation for work, as opposed to sitting on my ass after writing a song.)
However, it is interesting to consider the free speech card that IP abolitionists in the West like to play. What good is a copyright freedom after 3 months, if my song pisses off the communist party?
To me, the spreading of knowledge and information is something to celebrate. The GPL promotes this, so I would prefer it to go on forever. Without IP laws, things might not be so open — specifically, the patent system was designed to promote the sharing of ideas, while preserving a limited commercial monopoly.
Actually, even that solution shows diminishing returns after 4 CPUs - you can keep throwing cores @ it, but the performance improvements will be minimal. Ideal solution is to have as RISC-like a CPU as possible, and then have 4 cores of it in a CPU set-up, and one is off to the races.
Right now, x86 still has to support 32-bit modes, but once it's no longer needed, x64 will be a purely RISC CPU.
Can I have some of what you're smoking? Also, your usage of "@" is so very cyber, in a 90s way.
(I have an x86-64 machine with 4 CPUs running in 64-bit mode, meaning its ISA has magically changed from CISC to RISC. However, I'm posting this on a PowerPC running Gentoo, so as not to contaminate the message with any CISCy remains.)
Seconded. If you don't have much electronics experience, you'll probably want to learn some on the side. Both for interfacing practical things, and to understand your designs better. I got started from fpga4fun and it's still a nice reference on some things, even after moving on to more challenging designs.
Mod this sideways!
This is where I started about a year ago:
http://www.fpga4fun.com/
Got a Xilinx dev kit, and it didn't take me too many weeks to get my project up to a stage where other people started using it.
Besides programming, a background in general electronics does help. Even if you're coding in a somewhat C-like language, it's nothing like a sequential program, but a description of hardware with real, physical parallelity. To me, it often helps to look at a circuit diagram to understand some debugging issues.
Data sheets from chip manufacturers are essential for some of the trickier points. If you need to choose between the two largest players, I recommend Altera over Xilinx, as they are somewhat more open, but mostly there are no huge differences.
Low order bytes first is also the natural order for performing addition and subtraction (multiplication doesn't care either way). It is no use having the highest order byte in an addition until the lower order bytes have been processed to find the carry status.
This is the common argument I have read, particularly for low-end(ian) architectures. However, I've never understood why it would be harder for a computer to start from the last byte, and proceed backwards.
To be fair, a reverse argument along those lines could be made - in comparisons, knowing the highest order byte might be enough to decide the comparison. I'm not sure, but division might also prefer high byte first.
Network byte order is big endian. One reason may be that you can start routing before the entire address is received, though I'm not sure if this is really done outside telephone systems.
Then there is the minor consideration of natural, written numbers. For humans it makes sense to consider the most significant number (order of magnitude) first. It is basically the same comparison argument, only more general.
Consider a single byte. We call the low bit, which contributes 2^0, 'bit 0'. We call the high bit, which contributes 2^7, 'bit 7'. Why shoud we not use the same order for larger constructions?
Because it's the year 2102 and your UID is 6799521.
British politician: "How often do you have elections?"
Asian colleague: "Oh, well, almost evely molning."
He should really consider making a series.
you can get a siphon effect fairly easily. This draws dirty water from the tub back into the water supply.
I am having a hard time understanding how this can happen. How can two feet of water pressure (depth of bathtub) cause siphoning of water from the tub into the high pressure water system. I don't think I could do this if I tried. If they have less than two feet of water pressure, then yes, they have infrastructure problems.
Perhaps you are talking about a venturi effect? If the sprayer comes off at an angle from the faucet/pipe used to fill the tub, you can possibly draw water backwards into the sprayer hose but this is still downstream from the faucet and will not go back into the main water supply.
I've heard similar explanations for the separate hot and cold water taps in the UK. They say the hot water is not fit for drinking* and a mixer tap might cause a contamination of the cold, potable water supply. Similarly, this would require a serious problem in the infrastructure.
*(Microbiological issues. Here in Finland, we do advise against drinking hot water from the tap, because there is a marginal risk of heavy metal leaching from the plumbing, depending on the age/material of the series of tubes. Of course, this problem does not grow like microbes.)
De-desertification.
Instead of a double negative, why don't we just call it "sertification"? Though that would probably not happen without involving a standards body.
If it truly passes EM (including thermal) only in one direction, I could really use some for my house, in which we obey the 2nd law.
Also, how the fsck are you going to send electronic mail using photons?
So grave is the danger
I see what you did there.
When Edwin Hubble discovered the expanding universe through red shifts, he exclaimed "Holy Shit!" and "What is this shit?" not knowing at the time that shit is the actual source of the dark energy speeding the expansion.
One of my students recently wrote about "the Doppler shit" in an exam. I didn't realize he was on to something deeper -- the thing that "happens" to the Universe every day.
If you make a $100 bill and it enters general circulation the entire economy just inflated by $100. You robbed everyone who holds dollars.
The same thing happens when you take a bank loan of (a little more than) $100. But it's OK because it's done by banks. Of course, you have to pay back this imaginary money with your real, hard-earned cash.
Point good. Corrected stand I.
There is but one Nokia 900. Thou shalt have no other Nokia 900s before me.
(naturally, posted via my trusty old Debian derivative running Nokia)
Fast forward five years and I just don't see this software being all that useful. Sure, there's always gonna be that handful of people who will scream that this is extremely useful because they're always hopping between wifi hotspots but most users are using 3G/4G when they're on the move
Dunno about 4G, but 3G has enough latency to make ssh annoying, so Mosh would definitely be an improvement.
Moreover, I regard Mosh as solving a higher-level problem, and it is simply good Unix style to use another application on top of ssh. There are also many use cases where ssh does not need these improvements, so it is better to keep the core protocol simple.
I presume they could find a cancerous mass in a jaw sooner and save some lives too. Perhaps when smoking/chewing was more prevalent that was a good service, but the odds of a modern nonsmoker getting jaw cancer are likely quite low.
Seems like a nice business plan:
1. Take dental X-rays
2. Which cause jaw cancer
3. Which can only be found using dental X-rays
4. Profit!
5. GOTO 1
As long as x86 CPUs continue to support 32-bit, they'll remain CISC, since there are instructions there that require multiple clock cycles to complete. However, if a CPU came out that no longer supported those modes, then the new 64-bit only CPU would be RISC.
x86-64 is CISC, not RISC. The processors are internally RISC, but the x86 instruction set is Complex. In fact it seems that x86-64 is even more CISC, because they keep inventing new specialized instructions that were not there in any 32-bit x86 CPU.
Perhaps you are confusing this with the fact that there are other 64-bit architectures, most of which are RISC?
I didn't get what you're trying to argue - that it won't be RISC, or that performance will keep increasing linearly or exponentially as one keeps throwing cores at it? (While I don't use sms abbreviations, I do make use of things like '&', '@' since those are by no means indecipherable)
Scaling for a bigger number of cores depends entirely on the application you're running. You cannot generalize these things. I think I know what I'm talking about, having written and run software on a cluster at CERN and the Finnish supercomputing center.
(Sorry about the @ remark, that was uncalled for -- but your post did seem a little like a troll.)
You can't pick and choose - if you want this freedom, you have to accept the restrictions that go along with it.
Hope that helps relieve some of your envy. I think this does not make up for the numerous other disadvantages.
I don't think that's a fair comparison. For example, I enjoy the right not to be mugged by random strangers, but then I agree not to beat up anyone myself. Copying knowledge and information is a different topic, and I'm happy to let everyone copy the works I release. (I'm not a full-time professional musician, but I occasionally get paid for gigs, which IMHO is fair compensation for work, as opposed to sitting on my ass after writing a song.)
However, it is interesting to consider the free speech card that IP abolitionists in the West like to play. What good is a copyright freedom after 3 months, if my song pisses off the communist party?
How does a posthumous monopoly encourage the artist to create new works?
To me, the spreading of knowledge and information is something to celebrate. The GPL promotes this, so I would prefer it to go on forever. Without IP laws, things might not be so open — specifically, the patent system was designed to promote the sharing of ideas, while preserving a limited commercial monopoly.
http://iki.fi/teknohog/rants/sex_and_the_ip.php
http://iki.fi/teknohog/rants/ip.php
Actually, even that solution shows diminishing returns after 4 CPUs - you can keep throwing cores @ it, but the performance improvements will be minimal. Ideal solution is to have as RISC-like a CPU as possible, and then have 4 cores of it in a CPU set-up, and one is off to the races.
Right now, x86 still has to support 32-bit modes, but once it's no longer needed, x64 will be a purely RISC CPU.
Can I have some of what you're smoking? Also, your usage of "@" is so very cyber, in a 90s way.
(I have an x86-64 machine with 4 CPUs running in 64-bit mode, meaning its ISA has magically changed from CISC to RISC. However, I'm posting this on a PowerPC running Gentoo, so as not to contaminate the message with any CISCy remains.)
640 kHz should be enough for everyone. Besides, one of my favourite data-processing chips is the 741, so it must be one better.