Generally south east asia is pretty good. China is communist, so is Vietnam. But this is really in name only. They do not make any effort at being friendly or fuzzy to the population. But as a foreigner living there, you can say what you want about the government, and pretty much do what you want. They do not want a story about you being arrested on some BS in the international papers.
They are busy building infrastructure so there is no money for fancy ID cards, camera networks, or much spying. Even in china, the internet spying is looking for chinese words, not english..
Language is not a big issue, as the last 20 years english is taught to all school kids. Weather is nice, internet works good, 5 minute walk to the beach, cheap standard of living.
This plus data mining: 1) Point one of these these in each direction on every traffic light 2) Correlate cell phone conversations (just the participants, not the audio) 3) Add in some credit card data 4) Wait for Moore's law to catch up.
Result: a) Suicide bombers have all their friends checked out, then all their friends, etc. Eventually patterns will emerge, allowing ringleaders to be found. A few dozen bombers in a region would quickly generate some patterns.
Quote: Bhumibol's tale, even if stripped of the mythology his courtiers have spent decades constructing around him, is exceptional. The American-born son of a half-Chinese commoner accidentally inherits a throne close to extinction and revives it, creating one of the world's most powerful and wealthy monarchies, and surely the only one of any significance to have gained in political power in modern times. The king's charisma, intelligence, talents (from playing the saxophone to rain-making, a science in which he holds a European patent) and deep concern for his people's welfare make him adored at home and admired around the world. His image perhaps reaches its zenith in 1992, after the army shoots dozens of pro-democracy protesters in Bangkok, when television shows both the army leader (and prime minister) Suchinda Kraprayoon and the protest leader, Chamlong Srimuang (now a PAD stalwart), kneeling in an audience with him. Shortly afterwards General Suchinda resigns, and the king is given credit for the restoration of democracy.
I can see how this might piss of the Powers That Be..
>It could actually be that Microsoft got it right. It may be that >the core of Vista is not as terrible as we all think it is. I've >seen posts discussing how Vista uses a completely refactored >kernel, with more layers of abstraction and cleaning up of many of >the quirks of win32.
Scroll down about 8 screens to the stuff about PerfTrack. This does seem "innovative" and "new".
Let us assume that all subsystems are nicely tuned. This does not mean the system will be fast or responsive. Many user tasks will touch many subsystems. How these interact is the benchmarking problem.
With PerfTrack, someone sends in a report "This is Slow", with a trace of the last minute of system activity. Somebody monitoring the PerfTrack logs says "hmm. thats not right". They define an unacceptable level, and broadcast this out to everybody running PerfTrack. These then send reports back automatically only when the performance goal is missed.
Quote: In our "dialed up" request, we would set a "threshold" time that we thought was interesting. Additionally, we we may opt to filter on machines with a certain amount of RAM, a certain class of processor, the presence of specific driver, or any number of other things. Clients meeting the criteria would then, upon hitting the "Start" event, configure and enable tracing quickly and potentially send back to us if the "Stop" event occurred after our specified "threshold" of time. End Quote.
They mention they have over 500 of these in use now. A few more months to bake this, and a nice perf boost should be EXPECTED.
> Oh, I see what you're saying now - make a big fat array and tag the > bits 1 for use, 0 for don't use. > > Sorry, that doesn't work in practice.
I do not see how you arrived at this conclusion: 2^32 (minus some number of unroutable entries) / 2^8 (bits per byte) yields a maximum of 2^24 bytes. 16 megs worst case for ALL routes. On many systems this is like a rounding error..
> Plus, you're patently optimising for bulk file transfer - most > file transfers are under 100 packets long, and the majority of > those are under 10 packets long.
True, the above table would give priority to the endpoints with 10 packets per 1 second, vs those with one packet per second. Try the fast ones first..
> An 8-bit array of every AS number on the internet. > Increment the number by 16 for every AS hop. > Increment the number by 64 for every hop through a known transit > provider. For tiebreakers, add on single digits for end-point > congestion, on a sliding scale.
This could be done. It is the same algorithm.. Just a different heuristic deciding how to tag things as fast, and maybe adding a degree of potential fastness. You could just tag all the above calcs less than the half the average as TRUE, with the rest set to false.
In mine fast bit true means it was fast at some previous time. With your implementation, fast bit = easy short route.
> Just downloading a list of "slow vs fast" will be local to your > branch of your ISP - if we're both on ABC ISP, but you're in LA > and I'm in London, you're going to get faster speeds to Tokyo > than I am, but I will get faster speeds to Amsterdam than you are, > even though we're on the same ISP.
True, this is why I say just make your own list via observing conditions during your normal usage of bittorrent. The more you run it, the more connections you attempt, the more useful it gets.. If your IP changes from 217.whatever to 2.whatever, make a new list. If the list is more than 3 months old, make a new list.. It is just a hint to pick known better routes earlier in the transfer.
Again, I have posted this idea in several BitTorrent prog feature request forums. Usually get a "Nah, don't need that" kind of response.
Thanks for your post. We seem to be talking past each other. The only networking I have is an MCSE dated 12 years ago. Programmer since forever.. Only networking I do is to troubleshoot dev/app problems. You seem to have the opposite bias..
DIVIDING by eight, since I am talking about a bit array. Other terms include bit vector, bitmap, etc. See Here: http://en.wikipedia.org/wiki/Bit_array Simply a Map of Bits. Since we have lets say 2^28 possible routes, we end up with 2^25 Bytes, so 32 megs to store a one bit flag for each one. 8 = 2^3. So take your network address, treat it as a 32 bit number. Discard the lowest 4 bits - bit shift left in C is >> Then find the n'th bit in the field. This is a VERY efficient data structure. One bit per route! Not 4 bytes, or 8 or whatever. We do not want something resembling a hosts file..
Throughput does indeed matter. If every attempt at a connection to whatever slice of the internet is slow, STOP TRYING. When transferring large files throughput is the only thing that matters. If during the life of the bitmap we get 1 single connection with a useful sustained rate, flag the whole chunk of the net as a possible. After a few dozen large torrents (maybe one week) we have a pretty good idea of where decent rates can be found.. This can be deduced as you note, but why bother. This just means it should work good, not that the route WILL work at a useful rate. As you note, this takes ZERO account of congestion. My method just looks at what works at speed, and flags it.
And with bittorrent, the internet does indeed connect to me. My nicely static home computer, with my address advertised on trackers. People ALL over trying to connect to little old me.. Peer to Peer basis of TCPIP etc. All nodes are clients and servers. Bits is bits, does not matter which direction they flow, or to where.
Regarding collectives. Yes, my collective talks to theirs. INTER net - network of networks. This brings us back to bitmaps. If my collective can not EVER get a useful rate to THEIR collective (Whatever bucket they fall into in the bitmap) then DO NOT TRY. try connecting to everybody else in the list first. Or wait for them to connect to me, and then scrutinize the throughput.
Again, AS path is irrelevant. Either they have useful bandwidth, or not. How the bits get there is of no concern - separation of the layers with TCP. Apps do not care about the transport layer. Open a stream from here to there. Throw data at it. Listen for a callback from transport layer saying "Buffer is empty". Throw more data. Not much sense throwing data if the other side gets if SLOWLY. Hence the bitmap... Do not Try.
Think of it like sending a letter. Between certain cities we have airmail and or trainmail. The other cities are via horse. Same price. Pretty soon you notice that some letters are SLOW. So stop doing that. Send your letters to people in the fast cities FIRST. If they reply quickly, send more letters. My letter is unaware about planes/trains/horses. But I can tell with a calendar pretty damn easy how fast it is.. So make a bitmap with all the zipcodes. only a 100k in the USA, so round up to 128K. 2^17 divided by 8 (2^3) so a nice 2^14 bitmap. A tiny 2k file - very small. The biggest 50 cities have airmail. Set the bits to true. Another 1000 cities are on a train route. We flag these as letters they come back. The others, linger at zero, still waiting for a fast connect, which will likely never come. Yes, as you say, the routes "WORK", but not according to how I define it in this use case. Think of it as selling perishable goods by mail order. Prioritize the orders according to the bit flag. Sometimes we get it wrong. A train bridge goes out maybe. OK. trying 1% that are no longer fast, is still a big win over trying 99% of the total which are slow. Then the phone is invented. But many people h
I do not see the need for all this routing information. I already know one point of the connection - MINE. I only care about throughput to the other point. I do not care where this point is, or the hops, or anything about it. If throughput is greater than 1KB/Sec then flag it. Group these by any factor you want./28 div 8 is still only 32 megs..
I don't care so much about optimal, perfect, best. Good enough to give a speed boost, without much code, and no tracker changes would be great. My idea does all of these..
The reason my internet sucked in china had mostly to do with billions of chinese downloading tons of stuff. The overseas links are saturated. PERIOD. 1 million new broadband users a DAY. Still only at something like 20% of population. So, a new fat pipe goes in. Things go from 60 KB/sec to 100+. YAY. over the next few months, it goes back to 60. more like 30 most evenings and weekends. After 2am things go fast again. I had a 2 mbit ethernet to the house deal for about 10 USD/ month. I had 2 mbit up ALL THE TIME. But most people do not upload much. The chinese do download A LOT. so 60kb down, 200kb UP. Asymmetric the wrong way.. Simple supply and demand here, no conspiracy by the hosting providers.
I could get torrents in china, but I can not read chinese to navigate the sites. They rename the files into chinese too. Then they dub chinese audio on it, or embed subtitles into the video stream.. And they like RM files.. So, it would be faster, but not what I want.
I have had similar conversations before: 1) It is not optimal - so what, it would work 2) Don't need, is fast here. - so what, I am not there. 3) Get a better ISP. - Don't need, just need to choose peers better. 4) etc.
If 95% of the problem can be solved with a small client change, with 5% of the work, then lets do that.
I do not see the need to analyze the topology of the internet, and try to outsmart it.. Simply flag routes that work!
Is this really so hard to understand?!? Am I the only one who thinks this is simple, and would give an immediate gain?
Class C =/24 Your quibble changes this to/25. So 30 million DIVIDED BY EIGHT is still only 4 megs. A tiny file. A trivial amount of ram. Not to mention Class A's and B's would need only one entry..
We only need a bitmap. Not a 32 bpp bitmap with alpha channel,etc. Just a single bit. True/False. Either the route can sustain > 1 KB/sec or not.
A few lines of code in any bittorrent client, and Voila, faster.. No need to fiddle with trackers. The popular ones get overloaded enough as is, without considering throwing extra work at them.
Again, half my connections say something like 100KB transferred, and connected 30 minutes. Setting an idle timeout does not help if they send one packet every 5 minutes.
Being in asia has its pluses, but internet connectivity can be dodgy. Vietnam mostly routes through Hong Kong. That routes through Taiwan. So it is shared with china. This goes to seattle.
When connecting to much of europe, things go through new york. England and scandinavia are quite fast, but east europe is quite crap. The packets literally go the LONGEST way around the world. If any router in between is choking, then throughput goes to crap. Same for much of south america. Quite crap..
When downloading a popular torrent with 30-40K peers I should do better than 20k a second.
Limit the above approach a bit, so it only applies to torrents with more than 1000 peers, and I think the benefit would be very obvious.
Not sure why everybody wants to shoot this idea down..
And I proposed it for two popular BitTorrent clients, only to be told, "we don't need that.."
Simple enough to do. Start with Class C address.. less then 2^24 of them, as some are reserved, and not routable. Make a bitmap that big, so divide by 8. Only a two meg file. Then just watch your connections, total by bytes received, then divide by 8. If the result is greater than say 1 kb/sec sustained, then set the appropriate bit to true. Allow the bitmap to be zeroed if you move or whatever.
After getting the list of peers, prioritize connection attempts towards those that have a useful sustainable rate. Nothing worse than seeing 80% of my connections saying connected 30 minutes, 100 KB transferred. Sigh.
While in china, I had a 2 mb connection. But too many Chinese hammering it, so I could sustain, 2 mbit up, and 1 mbit down. Asymmetric the wrong way..
Seems blindingly obvious to me, yet I still see no clients with this feature.
If prisoners are doing UNSAFE things with the phone (calling in hits) then shouldn't the location of the phone be obvious. Prisons are fairly stationary.
So, call your nearby phone providers, tell them your coords, and block the region.
I do not EVER again want to see CiteSeer, ExpertsExchange, etc.. Also, many "Review" sites that have no reviews. ie "no reviews, add your own now".
There is GiveMeBackMyGoogle, but this is limited to 20 "-"'s in the google query.
So, I want a widget that fetches the results from google. Then iterates the returned hits, checking for URL's from useless sites. The remaining page is than passed to the browser.
Thanks in advance, and sorry for the OffTopic, but I think others would be interested in this!
Lisp is the mother of all languages. It can do everything. Even things just now becoming mainstream, like lambdas. Back in the day to get a CS degree you had to write a compiler in LISP. A bit of Asm so you know what the computer actually does.
For productivity, any high level language (.Net, Java, whatever has a lot of libraries)
At the command line, Msft PowerShell is powerful.
The libraries available are really the big thing for high productivity.
interprocess - what is this about? You can run the whole thing in one context. So all calls can be local. Yes, thier latest stuff can force hardware context boundaries, but with a language that is checked (checked asm, too) that is not much of a plus. They demonstrated hardware enforced boundaries are MUCH slower than SIP's, AKA software enforced boandaries.
The kernel is tiny, hard to call it a kernel in todays nomenclature. Not trusted? They are in managed code. You don't follow the contract, you can not link to it.. Don't like the contract, well - open source, change it.. If you don't trust your own code, with a bunch of language supported contract enforcement, zero race conditions (one owner for each object), type safety, then, well pay somebody else..
Not sure why you perceive DMA as a problem. Data is data, code is checked, etc. You CAN NOT load arbitrary code in this OS. There is ZERO support for add-ins. Follow the contract, or no compile.
Other than logic bugs, it is hard to see how it could NOT be secure.
> The singularity can't happen because intelligence has limits. The hypothetical machine that makes itself ever smarter doesn't make sense.
Where is the limit? 200 IQ? 1000 IQ?
Even then, the hypothetical AI has advantages over us. It can examine its own code (subconsious?) So, it can optimize slow, inefficient routines. Maybe it could even optimize its architecture via a custom instruction set. Or maybe even the base process, silicon, to quantum, or biotech.
It would also have a much larger range of IO choices, as well as the number of channels.
As well as non-fuzzy long term memory.
Postulate this:
1) the AI starts at 100 IQ
2) every year it can think some percent faster
3) larger amount/variety of input
Questions: 1) would it not give better informed answeres, faster, year after year? 2) This would be more intelligent, right?
Even if there is a cap at 200 IQ, if it keeps getting faster, it can evaluate more possible breakthrough ideas per time unit. Maybe limited by boredom?
Especially in video cards. If apple can write a virtual video layer that runs with Virtual PC and VMWare, that supports thier current video hardware this could be a great wedge.
And I do not mean supporting a modern NVidia 7800/7900 and treating it as an ancient S3 generic 1024*768 bitmap display.
Support it with native features, so that DirectX can run at decent speed.
Hillary Clinton and her driver were cruising along a country road one evening when an old cow loomed in front of the car. The driver tried to avoid it but couldn't - the old cow was killed. Hillary told her driver to go up to the farmhouse and explain to the owners what happened. She stayed in the car making phone calls to lobbyists.
About an hour later, the driver staggered back to the car with his clothes in disarray. He was holding a half empty bottle of expensive wine in one hand, an expensive Cuban cigar in the other and was smiling happily, smeared with lipstick.
"What happened?" asked Hillary.
"Well," the driver replied, "the farmer gave me the cigar, his wife gave me the wine, and their beautiful twin daughters made mad passionate love to me."
"My God, what did you tell them?" asked Hillary. The driver replied: "I said, I'm Hillary Clinton's driver, and I just killed the old cow."
10% of chinese export is bought by Walmart. The average american family saves $1400 a year buying foreign goods. Since the avg family makes 30k/year, the silver lining is purchasing power.
I remember these numbers from some woman from some US agency being interviewed by a chinese news station.. Sorry, no links.
I spent seven months there last year. It was fun and CHEAP. For instance, rent was $60/month in Sihanoukville (port city on the coast, with beaches, etc.) and included cable TV with HBO etc. Meals are about a buck, for local food, 3-4 dollars for western food. Beers are 50 cents, pack of cigs is about the same. Internet cafes run about 75 cents an hour. Total bills about 400 a month, with rent, food, repairs, gas, beer, weed, cigs, ladies, etc...
There are 4 paved highways in the country, creatively named Highway 1,2,3,4.. The rest of the country is dirt roads. Most of the motorcycles are Sanyangs, and Citi's all made from honda plans, in chinese factories. I miss my Sanyang 90. Many people think moped looking things are lame, but they do go for a week on a dollars worth of gas. And they do not break much. There are many places to fix them.. Imagine an Indy 500 pit crew. You pull in, explain what is wrong and six guys with wrenches descend upon your bike.. 20 minutes later a new piston ring is in place.
Bigger bikes are usually dirt bikes. Knobby tires etc. The roads are BAD. During the rainy season (June - Oct) whole roads disappear. Nothing but mud. I loved it! Dirt bikes are a lot of fun, until you have an accident and the nearest hospital is 100km away.. I recommend spending 1500 on a dirt bike. Less than that you will fix it a LOT. All are stolen from japan, and none have a working lock..
Weed is legal to buy, and many bars/restaurants have a jay or two being passed around at all times. Language is not a problem as 30% speak english, and Mandarin/cantonese. All places tourists are at speak GOOD english. Not like Thailand for instance. The people are friendly, IE a huge downpoor and I pulled over, and spent the night at thier place. They scrounged up a mosquito net and a bed, etc.
Food is OK. I like Vietnamese, and Thai a lot better though. Seemed too sweet, and rarely spicy.
sExpats seem to like it a lot, as everything goes, and cheaply. Going into a bar is good for the ego:) 20 Women on you in a second saying "Oooh, handsome man" and grabbing you.. $5 goes a looong way here. University girls wanting some extra cash. Go to the ports and the price is much lower I hear.
Beware the expats running bars, etc. All of them are losing money subsizing backpackers from Europe and the scams are rife. Oddly the locals, who are indeed very poor, are quite honest. They will "scam" you by charging an extra 10 cents for a beer, and they love to haggle, but really, the expats are the problem.
Not sure if this makes any sense as I am currently drunk in Xiamen China..
ps. If you lose your job, go to asia. You can live a LONG time on very little money here, and with a VOIP box, you could do phone interviews for 10 cents a minute.
Ralsky needs to: 1) Change his address to 123 whatever st APPT 2, 2) Buy a big mailbox 3) Buy a woodstove (He does live in the north..) 4) Find one of those guys from junkyard wars to build a temperature conveyer system.. 5) Profit..
Generally south east asia is pretty good. China is communist, so is Vietnam. But this is really in name only. They do not make any effort at being friendly or fuzzy to the population. But as a foreigner living there, you can say what you want about the government, and pretty much do what you want. They do not want a story about you being arrested on some BS in the international papers.
They are busy building infrastructure so there is no money for fancy ID cards, camera networks, or much spying. Even in china, the internet spying is looking for chinese words, not english..
Language is not a big issue, as the last 20 years english is taught to all school kids.
Weather is nice, internet works good, 5 minute walk to the beach, cheap standard of living.
Go communists!
This plus data mining:
1) Point one of these these in each direction on every traffic light
2) Correlate cell phone conversations (just the participants, not the audio)
3) Add in some credit card data
4) Wait for Moore's law to catch up.
Result:
a) Suicide bombers have all their friends checked out, then all their friends, etc.
Eventually patterns will emerge, allowing ringleaders to be found.
A few dozen bombers in a region would quickly generate some patterns.
b) Death of all privacy as we know it..
Partition the drive into BlockSize/4KB logical disks.
Make sure the alignment is correct, then RAID these
into 1 big disk.
This gives us one usable disk with maybe 128kb clusters.
Small files would need to share a cluster, but they
would have done that anyway..
read it here: http://www.economist.com/world/asia/displayStory.cfm?story_id=12724800&source=hptextfeature
Quote:
Bhumibol's tale, even if stripped of the mythology his courtiers have spent decades constructing around him, is exceptional. The American-born son of a half-Chinese commoner accidentally inherits a throne close to extinction and revives it, creating one of the world's most powerful and wealthy monarchies, and surely the only one of any significance to have gained in political power in modern times. The king's charisma, intelligence, talents (from playing the saxophone to rain-making, a science in which he holds a European patent) and deep concern for his people's welfare make him adored at home and admired around the world. His image perhaps reaches its zenith in 1992, after the army shoots dozens of pro-democracy protesters in Bangkok, when television shows both the army leader (and prime minister) Suchinda Kraprayoon and the protest leader, Chamlong Srimuang (now a PAD stalwart), kneeling in an audience with him. Shortly afterwards General Suchinda resigns, and the king is given credit for the restoration of democracy.
I can see how this might piss of the Powers That Be..
>It could actually be that Microsoft got it right. It may be that
>the core of Vista is not as terrible as we all think it is. I've
>seen posts discussing how Vista uses a completely refactored
>kernel, with more layers of abstraction and cleaning up of many of
>the quirks of win32.
I believe they DID get it right. Check this out:
http://blogs.msdn.com/e7/archive/2008/12/15/continuing-our-discussion-on-performance.aspx
Scroll down about 8 screens to the stuff about PerfTrack.
This does seem "innovative" and "new".
Let us assume that all subsystems are nicely tuned. This does not mean the system will be fast or responsive. Many user tasks will touch many subsystems. How these interact is the benchmarking problem.
With PerfTrack, someone sends in a report "This is Slow", with a trace of the last minute of system activity. Somebody monitoring the PerfTrack logs says "hmm. thats not right". They define an unacceptable level, and broadcast this out to everybody running PerfTrack. These then send reports back automatically only when the performance goal is missed.
Quote:
In our "dialed up" request, we would set a "threshold" time that we thought was interesting. Additionally, we we may opt to filter on machines with a certain amount of RAM, a certain class of processor, the presence of specific driver, or any number of other things. Clients meeting the criteria would then, upon hitting the "Start" event, configure and enable tracing quickly and potentially send back to us if the "Stop" event occurred after our specified "threshold" of time.
End Quote.
They mention they have over 500 of these in use now. A few more months to bake this, and a nice perf boost should be EXPECTED.
> Oh, I see what you're saying now - make a big fat array and tag the > bits 1 for use, 0 for don't use.
>
> Sorry, that doesn't work in practice.
I do not see how you arrived at this conclusion:
2^32 (minus some number of unroutable entries) / 2^8 (bits per byte)
yields a maximum of 2^24 bytes. 16 megs worst case for ALL routes.
On many systems this is like a rounding error..
> Plus, you're patently optimising for bulk file transfer - most
> file transfers are under 100 packets long, and the majority of
> those are under 10 packets long.
True, the above table would give priority to the endpoints with 10 packets per 1 second, vs those with one packet per second. Try the
fast ones first..
> An 8-bit array of every AS number on the internet.
> Increment the number by 16 for every AS hop.
> Increment the number by 64 for every hop through a known transit
> provider. For tiebreakers, add on single digits for end-point
> congestion, on a sliding scale.
This could be done. It is the same algorithm.. Just a different
heuristic deciding how to tag things as fast, and maybe adding a degree of potential fastness. You could just tag all the above calcs less than the half the average as TRUE, with the rest set to false.
In mine fast bit true means it was fast at some previous time.
With your implementation, fast bit = easy short route.
> Just downloading a list of "slow vs fast" will be local to your
> branch of your ISP - if we're both on ABC ISP, but you're in LA
> and I'm in London, you're going to get faster speeds to Tokyo
> than I am, but I will get faster speeds to Amsterdam than you are,
> even though we're on the same ISP.
True, this is why I say just make your own list via observing
conditions during your normal usage of bittorrent. The more
you run it, the more connections you attempt, the more useful
it gets.. If your IP changes from 217.whatever to 2.whatever,
make a new list. If the list is more than 3 months old, make a
new list.. It is just a hint to pick known better routes earlier
in the transfer.
Again, I have posted this idea in several BitTorrent prog feature
request forums. Usually get a "Nah, don't need that" kind of response.
Duh. Don't need it, but it sure could help! At very low cost..
The array could be smaller, too:
http://en.wikipedia.org/wiki/Sparse_array
No, it will not change the world, yes it would help.
At a cost of 16 megs, and maybe 100 lines of code..
Anyway, sorry I did not make my assumptions clear in the beginning :)
regarding bitmaps, bit arrays, etc. Wasted some mutual mental
bandwidth there
Thanks for your post. We seem to be talking past each other.
The only networking I have is an MCSE dated 12 years ago.
Programmer since forever.. Only networking I do is to troubleshoot
dev/app problems. You seem to have the opposite bias..
DIVIDING by eight, since I am talking about a bit array. Other terms include
bit vector, bitmap, etc. See Here: http://en.wikipedia.org/wiki/Bit_array
Simply a Map of Bits. Since we have lets say 2^28 possible routes,
we end up with 2^25 Bytes, so 32 megs to store a one bit flag for each one.
8 = 2^3. So take your network address, treat it as a 32 bit number.
Discard the lowest 4 bits - bit shift left in C is >>
Then find the n'th bit in the field. This is a VERY efficient data structure.
One bit per route! Not 4 bytes, or 8 or whatever. We do not want something
resembling a hosts file..
Throughput does indeed matter. If every attempt at a connection to whatever
slice of the internet is slow, STOP TRYING. When transferring large files
throughput is the only thing that matters. If during the life of the bitmap
we get 1 single connection with a useful sustained rate, flag the whole chunk
of the net as a possible. After a few dozen large torrents (maybe one week)
we have a pretty good idea of where decent rates can be found.. This can
be deduced as you note, but why bother. This just means it should work good, not that the route WILL work at a useful rate. As you note, this takes ZERO account of congestion. My method just looks at what works at speed, and flags it.
And with bittorrent, the internet does indeed connect to me. My nicely static home computer, with my address advertised on trackers. People ALL over trying to connect to little old me.. Peer to Peer basis of TCPIP etc. All nodes are clients
and servers. Bits is bits, does not matter which direction they flow, or to where.
Regarding collectives. Yes, my collective talks to theirs. INTER net - network
of networks. This brings us back to bitmaps. If my collective can not EVER
get a useful rate to THEIR collective (Whatever bucket they fall into in the bitmap) then DO NOT TRY. try connecting to everybody else in the list first.
Or wait for them to connect to me, and then scrutinize the throughput.
Again, AS path is irrelevant. Either they have useful bandwidth, or not. How the bits get there is of no concern - separation of the layers with TCP. Apps do not care about the transport layer. Open a stream from here to there. Throw data at it. Listen for a callback from transport layer saying "Buffer is empty". Throw more data. Not much sense throwing data if the other side gets if SLOWLY. Hence the bitmap... Do not Try.
Think of it like sending a letter. Between certain cities
we have airmail and or trainmail. The other cities are via horse. Same price. Pretty soon you notice that some letters are SLOW. So stop doing that. Send your letters to people in the fast cities FIRST. If they reply quickly, send more letters. My letter is unaware about planes/trains/horses. But I can tell with a calendar pretty damn easy how fast it is.. So make a bitmap with all the zipcodes.
only a 100k in the USA, so round up to 128K. 2^17 divided by 8 (2^3) so a nice 2^14 bitmap. A tiny 2k file - very small. The biggest 50 cities have airmail. Set the bits to true. Another 1000 cities are on a train route. We flag these as letters they come back. The others, linger at zero, still waiting for a fast connect, which will likely never come. Yes, as you say, the routes "WORK", but not according to how I define it in this use case. Think of it as selling perishable goods by mail order. Prioritize the orders according to the bit flag. Sometimes we get it wrong. A train bridge goes out maybe. OK. trying 1% that are no longer fast, is still a big win over trying 99% of the total which are slow. Then the phone is invented. But many people h
I do not see the need for all this routing information. /28 div 8
I already know one point of the connection - MINE.
I only care about throughput to the other point.
I do not care where this point is, or the hops, or anything about it.
If throughput is greater than 1KB/Sec then flag it.
Group these by any factor you want.
is still only 32 megs..
I don't care so much about optimal, perfect, best. Good enough
to give a speed boost, without much code, and no tracker changes
would be great. My idea does all of these..
The reason my internet sucked in china had mostly to do with billions
of chinese downloading tons of stuff. The overseas links are saturated.
PERIOD. 1 million new broadband users a DAY. Still only at something like
20% of population. So, a new fat pipe goes in. Things go from 60 KB/sec
to 100+. YAY. over the next few months, it goes back to 60. more like 30
most evenings and weekends. After 2am things go fast again.
I had a 2 mbit ethernet to the house deal for about 10 USD/ month.
I had 2 mbit up ALL THE TIME. But most people do not upload much.
The chinese do download A LOT. so 60kb down, 200kb UP.
Asymmetric the wrong way.. Simple supply and demand here, no conspiracy
by the hosting providers.
I could get torrents in china, but I can not read chinese to navigate the sites. They rename the files into chinese too. Then they dub chinese audio
on it, or embed subtitles into the video stream.. And they like RM files..
So, it would be faster, but not what I want.
I have had similar conversations before:
1) It is not optimal - so what, it would work
2) Don't need, is fast here. - so what, I am not there.
3) Get a better ISP. - Don't need, just need to choose peers better.
4) etc.
If 95% of the problem can be solved with a small client change, with
5% of the work, then lets do that.
I do not see the need to analyze the topology of the internet, and try
to outsmart it.. Simply flag routes that work!
Is this really so hard to understand?!?
Am I the only one who thinks this is simple, and would give an immediate gain?
Class C = /24 Your quibble changes this to /25.
So 30 million DIVIDED BY EIGHT is still only 4 megs.
A tiny file. A trivial amount of ram.
Not to mention Class A's and B's would need only one entry..
We only need a bitmap. Not a 32 bpp bitmap with alpha channel,etc.
Just a single bit. True/False. Either the route can sustain > 1 KB/sec
or not.
A few lines of code in any bittorrent client, and Voila, faster..
No need to fiddle with trackers. The popular ones get overloaded
enough as is, without considering throwing extra work at them.
Again, half my connections say something like 100KB transferred, and connected
30 minutes. Setting an idle timeout does not help if they send one packet every
5 minutes.
Being in asia has its pluses, but internet connectivity can be dodgy.
Vietnam mostly routes through Hong Kong. That routes through Taiwan.
So it is shared with china. This goes to seattle.
When connecting to much of europe, things go through new york.
England and scandinavia are quite fast, but east europe is quite crap.
The packets literally go the LONGEST way around the world. If any router
in between is choking, then throughput goes to crap. Same for much of
south america. Quite crap..
When downloading a popular torrent with 30-40K peers I should do better
than 20k a second.
Limit the above approach a bit, so it only applies to torrents with more
than 1000 peers, and I think the benefit would be very obvious.
Not sure why everybody wants to shoot this idea down..
And I proposed it for two popular BitTorrent clients, only to be told, "we don't need that.."
Simple enough to do. Start with Class C address.. less then 2^24 of them, as some
are reserved, and not routable. Make a bitmap that big, so divide by 8.
Only a two meg file. Then just watch your connections, total by bytes received, then divide by 8. If the result is greater than say 1 kb/sec sustained, then
set the appropriate bit to true. Allow the bitmap to be zeroed if you move or whatever.
After getting the list of peers, prioritize connection attempts towards those
that have a useful sustainable rate. Nothing worse than seeing 80% of my
connections saying connected 30 minutes, 100 KB transferred. Sigh.
While in china, I had a 2 mb connection. But too many Chinese hammering it, so
I could sustain, 2 mbit up, and 1 mbit down. Asymmetric the wrong way..
Seems blindingly obvious to me, yet I still see no clients with this feature.
Seems mighty useful on an 80 core X86 coprocessor..
Maybe 560 fps would be overkill, but:
140 fps at 1600x1200
35 FPS at 3200*2400
And Win 7 will supposedly ship next year, but with schedule slip, etc.
Lets figure 2010. About the time for larrabee..
If prisoners are doing UNSAFE things with the phone (calling in hits)
then shouldn't the location of the phone be obvious. Prisons are fairly stationary.
So, call your nearby phone providers, tell them your coords, and block
the region.
No need for expensive new machines to do this.
I do not EVER again want to see CiteSeer, ExpertsExchange,
etc.. Also, many "Review" sites that have no reviews.
ie "no reviews, add your own now".
There is GiveMeBackMyGoogle, but this is limited to
20 "-"'s in the google query.
So, I want a widget that fetches the results from google.
Then iterates the returned hits, checking for URL's from
useless sites. The remaining page is than passed to the
browser.
Thanks in advance, and sorry for the OffTopic,
but I think others would be interested in this!
http://www.planetx64.com/index.php?option=com_content&task=view&id=1435&Itemid=14
1) 64 bit macro-op fusion is new. See it tested here..
2) Virtualisation is more efficient with nested pagetables.
3) Gaming should benefit, since all x58 mobos support Crossfire
and nVidia SLI.
4) 12 gigs ram supported with 2gb dims - this is rare for desktop boards.
Numerous other minor tweaks, but read it for yourself..
Have fun with your upgrade dollars!
Lisp is the mother of all languages. It can do everything. Even things just now becoming mainstream, like lambdas. Back in the day to get a CS degree you had to write a compiler in LISP. A bit of Asm so you know what the computer actually does.
For productivity, any high level language (.Net, Java, whatever has a lot of libraries)
At the command line, Msft PowerShell is powerful.
The libraries available are really the big thing for high productivity.
interprocess - what is this about? You can run the whole thing in one context.
So all calls can be local. Yes, thier latest stuff can force hardware context boundaries, but with a language that is checked (checked asm, too) that is not much of a plus. They demonstrated hardware enforced boundaries are MUCH slower than SIP's, AKA software enforced boandaries.
The kernel is tiny, hard to call it a kernel in todays nomenclature.
Not trusted? They are in managed code. You don't follow the contract, you can not link to it.. Don't like the contract, well - open source, change it..
If you don't trust your own code, with a bunch of language supported contract enforcement, zero race conditions (one owner for each object), type safety, then, well pay somebody else..
Not sure why you perceive DMA as a problem. Data is data, code is checked, etc.
You CAN NOT load arbitrary code in this OS. There is ZERO support for add-ins.
Follow the contract, or no compile.
Other than logic bugs, it is hard to see how it could NOT be secure.
Sometimes the total is greater than the sum of the parts.
> The singularity can't happen because intelligence has limits. The hypothetical machine that makes itself ever smarter doesn't make sense.
Where is the limit? 200 IQ? 1000 IQ?
Even then, the hypothetical AI has advantages over us. It can examine its own code (subconsious?)
So, it can optimize slow, inefficient routines. Maybe it could even optimize its architecture via a
custom instruction set. Or maybe even the base process, silicon, to quantum, or biotech.
It would also have a much larger range of IO choices, as well as the number of channels.
As well as non-fuzzy long term memory.
Postulate this:
1) the AI starts at 100 IQ
2) every year it can think some percent faster
3) larger amount/variety of input
Questions:
1) would it not give better informed answeres, faster, year after year?
2) This would be more intelligent, right?
Even if there is a cap at 200 IQ, if it keeps getting faster, it can evaluate more possible breakthrough
ideas per time unit. Maybe limited by boredom?
Especially in video cards. If apple can write a virtual video layer that runs with Virtual PC and VMWare, that supports thier current video hardware this could be a great wedge.
And I do not mean supporting a modern NVidia 7800/7900 and treating it as an ancient S3 generic 1024*768 bitmap display.
Support it with native features, so that DirectX can run at decent speed.
Hillary Clinton and her driver were cruising along a country road
one evening when an old cow loomed in front of the car. The
driver tried to avoid it but couldn't - the old cow was killed.
Hillary told her driver to go up to the farmhouse and explain to the
owners what happened. She stayed in the car making phone calls
to lobbyists.
About an hour later, the driver staggered back to the car with his
clothes in disarray. He was holding a half empty bottle of
expensive wine in one hand, an expensive Cuban cigar in the
other and was smiling happily, smeared with lipstick.
"What happened?" asked Hillary.
"Well," the driver replied, "the farmer gave me the cigar, his wife
gave me the wine, and their beautiful twin daughters made mad
passionate love to me."
"My God, what did you tell them?" asked Hillary.
The driver replied: "I said, I'm Hillary Clinton's driver, and I just
killed the old cow."
10% of chinese export is bought by Walmart.
The average american family saves $1400 a year buying foreign goods. Since the avg family makes 30k/year, the silver lining is purchasing power.
I remember these numbers from some woman from some US agency being interviewed by a chinese news station.. Sorry, no links.
I spent seven months there last year. It was fun and CHEAP. For instance, rent was $60/month in Sihanoukville (port city on the coast, with beaches, etc.) and included cable TV with HBO etc. Meals are about a buck, for local food, 3-4 dollars for western food. Beers are 50 cents, pack of cigs is about the same. Internet cafes run about 75 cents an hour. Total bills about 400 a month, with rent, food, repairs, gas, beer, weed, cigs, ladies, etc...
:) 20 Women on you in a second saying "Oooh, handsome man" and grabbing you.. $5 goes a looong way here. University girls wanting some extra cash. Go to the ports and the price is much lower I hear.
There are 4 paved highways in the country, creatively named Highway 1,2,3,4.. The rest of the country is dirt roads. Most of the motorcycles are Sanyangs, and Citi's all made from honda plans, in chinese factories. I miss my Sanyang 90. Many people think moped looking things are lame, but they do go for a week on a dollars worth of gas. And they do not break much. There are many places to fix them.. Imagine an Indy 500 pit crew. You pull in, explain what is wrong and six guys with wrenches descend upon your bike.. 20 minutes later a new piston ring is in place.
Bigger bikes are usually dirt bikes. Knobby tires etc. The roads are BAD. During the rainy season (June - Oct) whole roads disappear. Nothing but mud. I loved it! Dirt bikes are a lot of fun, until you have an accident and the nearest hospital is 100km away.. I recommend spending 1500 on a dirt bike. Less than that you will fix it a LOT. All are stolen from japan, and none have a working lock..
Weed is legal to buy, and many bars/restaurants have a jay or two being passed around at all times. Language is not a problem as 30% speak english, and Mandarin/cantonese. All places tourists are at speak GOOD english. Not like Thailand for instance. The people are friendly, IE a huge downpoor and I pulled over, and spent the night at thier place. They scrounged up a mosquito net and a bed, etc.
Food is OK. I like Vietnamese, and Thai a lot better though. Seemed too sweet, and rarely spicy.
sExpats seem to like it a lot, as everything goes, and cheaply. Going into a bar is good for the ego
Beware the expats running bars, etc. All of them are losing money subsizing backpackers from Europe and the scams are rife. Oddly the locals, who are indeed very poor, are quite honest. They will "scam" you by charging an extra 10 cents for a beer, and they love to haggle, but really, the expats are the problem.
Not sure if this makes any sense as I am currently drunk in Xiamen China..
ps. If you lose your job, go to asia. You can live a LONG time on very little money here, and with a VOIP box, you could do phone interviews for 10 cents a minute.
Your mailman is your filter.
Ralsky needs to:
1) Change his address to 123 whatever st APPT 2,
2) Buy a big mailbox
3) Buy a woodstove (He does live in the north..)
4) Find one of those guys from junkyard wars to build a temperature conveyer system..
5) Profit..
They are positioning to take on Accenture, EDS, Andersen, etc.
These companies have too many MBA's with nice haircuts.. Nothing ever gets done, except for more analyses and ass covering.
When one of them finally starts to attempt actual implementation, they try to fill your building with more of the parasites.
If this is WIPRO's model, we have little to fear.
Also, 40% cheaper than Accenture or EDS still leaves us with some FAT profits, IF we can get our proposals heard by upper management.
I like Google.ca, the canadian one.
No DMCA takedowns there.
And I am a US resident..