Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The best way to learn is relentless curiosity. There's always a big difference between the stuff you need to know and the stuff you want to know. If you're truly fascinated by how things work and you really want to know how they work, learning is much easier and far more enjoyable. The best part is, even if the learning is actually horribly difficult, you never notice you're suffering since you're having a lot of fun.

I started messing around with satellite based data broadcast systems in high school during the mid 80's due to my dad's work. The systems delivered real time stock, commodities, and futures data at a time long before the craze of web based "Internet Trading". Back then, only the most serious trading businesses had real time quotes and the systems were connected by either satellite or dedicated lines. Since it was a "broadcast" systems (one-to-many), it's fundamentally similar to satellite television broadcasting.

The two-way satellite data/voice systems work on similar principles but there are a few major designs in use. Some satellite phones work with an array of sats in Low Earth Orbit (LEO) and only require an adequate pole/stick antenna. Other satellite phones work with satellites in geostationary orbit and require a two-way dish for both broadcast and receive. All of the satellite based Internet Service Providers (ISP) serving rural areas use geostationary satellites.

Some people wonder how Steve Wozniak can live in (near) the Silicon Valley and still complain about broadband speeds/coverage in the US. He doesn't live too far from me up in the hills above the valley, and the odds of fast broadband every reaching up here are very slim. As you might expect, I've run a satellite based Internet connection in the past, so I got a chance to learn the internals of those systems as well.

Satellite based Internet connections have very high latency. The minimum ping time is roughly about 480 ms ... umm, I think, but for fun, let's do the math:

Geostationary Orbit: 35,786,000 meters elevation.

Speed of light: 299,792,458 metres per second.

The ping request would travel from you up to the satellite and then back down to the ground station, so it travels twice the distance of geostationary orbit (up and back).

The ping reply would also travel from the ground station up to the satellite and then back down to you, so it also travels twice the distance of geostationary orbit.

(4 * 35,786,000) / 299,792,458 = 0.47747

Yep, pretty close to the 480 ms I remembered, but that's just the raw travel time under totally unrealistic conditions. In reality, you're a lot farther away from the satellite rather than directly below it at sea level, and there would also be some over-head for the computer systems involved.

The above also assumes you're on a dedicated transponder (i.e. you have a very expensive chunk of frequency dedicated to your sole use), but since you never get a dedicated transponder on a consumer service, ping times can be in excess of 3000 ms on a regular basis. The transponder space allocated to the ISP is shared amongst all of the ISP's customers via TDMA. FDMA, FTDMA, and I think occasionally CDMA. Even when you know how to tune your own TCP/IP stack and all of your applications to adjust for the high latency, using a lot of typical things (like web browsing) are still absolutely miserable. Think about it this way; every time you click on something, you have to wait 3 seconds for anything to happen. It drives most people nuts, so using a satellite based ISP is a last resort, and in some ways it sucks more than using a 14,400 baud phone line modem.

You see, once you learn some of the basics, then you have a base for learning more fun stuff, but most importantly, you also gain the advantage of being able to "reason" about how other related things work.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: