5 ms·
When I went online for the first time (nearly twenty years ago - time goes by pretty fast!), I did so on 14.4 kbit modem. That was no fun even back then. After
by krylon 10y ago
When I went online for the first time (nearly twenty years ago - time goes by pretty fast!), I did so on 14.4 kbit modem.
That was no fun even back then. After a year, I upgraded to ISDN, which was a lot faster (64kbit), but once I got to use a faster line, even ISDN seemed awfully slow.
And the trend continues to this day. Once one has a faster connection, one gets used to it in no time. And just like many companies and individuals have solved problems with slow software by throwing more/faster hardware at it, these days we solve the problem of web sites making inefficient use of bandwidth by throwing more bandwidth at it.
Which might not even be such a bad thing - I would not like going back to programming in an environment where I have to triple-check every variable to see if I can shave off a couple of kilobytes, either.
But even a fast connection gets clogged at times, and even on a 16MBit DSL line, I have seen pages looking broken because the request for getting the CSS timed out or something like that.
Maybe taking more care not to waste bandwidth should be considered a form of courtesy. People on slow/saturated lines will thank you for it, and people on fast lines will be amazed at how snappy that website loads. (And of course, there's always trade-offs involved; I do not demand web developers sacrifice everything else to efficient bandwidth usage; but it should not be ignored, either.)
- SubiculumCode 10y agoI remember when I upgraded to a 14.4k modem and boy was I pleased after dialing with a 9600 baud for years.
- keithnz 10y agoI remember 300 baud connections! :) because the "fast" 2400 ones were all in use. Nothing quite like watching characters being drawn at typing speed :) least on IRC it wasn't too bad unless it was a busy channel
- lozf 10y agoBrendan Gregg's "baud.pl" script[0] is great for re-living those nostalgic moments. e.g. find ~ | baud.pl -300 [0]: http://www.brendangregg.com/Specials/baud http://www.brendangregg.com/Specials/baud
- peterclary 10y agoLuxury. I started out on 1200/75. I used to dream of 2400, let alone 9600! ('ad to lick code clean wi' tongue, etc. etc.)
- SubiculumCode 10y agowell I first wrote 2700 baud, and then I had a sudden work I was remembering wrong. I honestly think I started at 2700 baud as a 10-year-old.
- grkvlt 10y agoWas that PRESTEL, maybe? Did you ever take advantage of the ability to have the modem train as the server side of a 1200/75 connection? That way, you could upload at the blistering speed of 1200 baud, with the downside of trying to navigate PRESTEL or its ilk at the staggeringly slow (worse than the original IBM teletypes) speed of 75 baud! Good times... And, after leaving University, the only Internet connection I could use (I believe Demon Internet in the UK was starting up, so dial-up was beginning to appear, but the faster University connections were for students only) was their free 2400 baud connection to the X.25 PAD (translatable to TCP/IP through SLIP once a shell connection established) and I resigned myself to this being the only Internet access I would ever have without a return to academia!
- vic-traill 10y agoI'll pitch in here with a 300 bps acoustic coupler claim, back when bps == baud [0]. Bought the coupler and a Volker Craig VT100 terminal (complete with still-attached security chain) for $50 CAN from an Admin at my university who had no doubt pinched it from his employer. This allowed me to dial in and work on programming assignments at the last hour, when the labs were full but open dial-up ports always available. Don't know when I got rid of the coupler - I felt like a high-tech dude dialing the number, listening for the carrier and then placing the receiver in the cups. [0]http://www.tldp.org/HOWTO/Modem-HOWTO-23.html http://www.tldp.org/HOWTO/Modem-HOWTO-23.html
- Santosh83 10y agoWell balanced. And keep in mind that much of the emerging web users across the world are on mobile connections, which, even if using 3G or 4G or higher, are in practice much slower than advertised and latency ridden, due to load and outright corruption by the service providers. Not to mention metered bandwidth is still the norm outside select areas.
- lucaspiller 10y ago> outright corruption by the service providers This isn't limited to just the 'developing' world. Last year I was living in Italy and my phone service was provided by Vodafone. When visiting some popular websites (the biggest I remember was anything owned by Gawker Media) I would be redirected to unrelated spam sites a few seconds after the page loaded. Hitting back did nothing, even going back to the search results and pressing the link again did the same. If I fired up my VPN it worked fine though :D
- i336_ 10y agoI'm curious what proportion of sites you were confident you were visiting over HTTPS.
- curun1r 10y agoPerhaps, and all I have is anecdotal experience, but having spent most of the last year traveling around Southeast Asia, I was stunned by how much better their wireless service was. For $10-$15/mo, I was getting more data, at faster speeds and with less latency than I get here in the US for roughly 3x the cost. The coverage was also pretty excellent. I have no doubt that certain countries (probably in Africa) may be worse, but I think it's a mistake to look at the third world the way you're portraying it. In many cases, they're not deprived or years-behind in the way you've described. In many cases, they're significantly ahead of us.
- agumonkey 10y agoI remember having to wait at a friend's flat in 2004, that only had a 56K line. For the average webpage, online chat and even occasional mp3 download it felt alright. Not sluggish, not cringey, not anger triggering. It's also a maturity thing. At one point 1) you're not chasing new "needs" 2) you know how much a few buys you. I keep seeing people asking for optic fiber I'm going wild. Turns out they all want multiple HD streaming and 50GB Steam games (I wonder if Steam is has lazy game content streaming somewhere...). It's a fad luxury. Not long ago I think we would have been nicely happy with 2x 720p, which is possible on a 5Mbps line I think. I'm still happy when I get a linux ISO in 10min or so. I don't think I'd be crazy joyful if it came in 20 seconds.
- ido 10y agowhy do you even need to stream more than a single movie at a time? I upgraded from 16mbit/s to 50mbit a couple years ago and didn't really notice the difference. Now I could get 400mbit but didn't bother.
- kalleboo 10y agoSome households contain more than one person.
- chalupa-man 10y agoYou'd want to stream more than one movie at a time if you had more than one person in a house. For example, I used to live in a house where there were 5 of us. I really wanted to subscribe to Netflix, because it was 1/10th the cost of cable TV and suited my needs even better. But the connection just wasn't strong enough for two people to stream video at once so it meant we had to work out a timetable of who could watch movies/TV when, swap blocks if some live event one of us wanted to watch came on, etc, and it just wasn't worth the inconvenience. Most people live with other people.
- agumonkey 10y agoAs other said, couples, families.
- driverdan 10y agoYour point is valid but the load time of modern sites is nowhere near comparable to dialup. I started on 2400 and had 28.8k through high school on bad phone lines. I used to play solitaire while waiting for web pages to load. Some would take minutes! I now have gigabit fiber and everything is so fast. A lot of sites are bloated and may take seconds to load on slower DSL but it's still orders of magnitude faster.
- userbinator 10y agoOn the other hand, as long as the latency is similar, the SSH experience is pretty much the same regardless of bandwidth --- the exception being commands that produce plenty of output. Which might not even be such a bad thing - I would not like going back to programming in an environment where I have to triple-check every variable to see if I can shave off a couple of kilobytes, either. That might be part of why I've found newer programmers seem to write more complex and inefficient code than older ones, who tend to come up with simple and efficient solutions naturally. I think everyone should experience using and programming in a constrained environment, if only to train this skill of what's efficient and what isn't.
- handyman5 10y agoYou are not controlling for the programmer's age as a variable. An equally valid explanation could be that newer programmers have less experience to draw from, where older programmers have more experience and know what works and what doesn't. Or, alternatively, newer programmers might just be a much larger pool of people, and perhaps more people stop programming as they get older than start, so that the average skill of an older programmer is much higher than you might otherwise expect (since all the low-skill programmers quit when they were younger).
- hedora 10y agoThis. My day-to-day code has probably doubled in efficiency every 2-4 years since the mid 90's. Granted, a decade of that was chasing hardware trends, but the earlier optimizations stack too.
- krylon 10y ago> I think everyone should experience using and programming in a constrained environment FWIW - when I can, I like to to use a - relatively - resource-constrained machine to test my code on, so performance hiccups one would not even notice on a high-end desktop PC become obvious. I used to use a SparcStation for that, but it went the way of all earthly possessions. So now, I use a Raspberry Pi, and an old laptop (it has a "Built for Windows Vista" sticker, so it must have been built before 2009/Q3) for this purpose. It is a luxury I have when programming in my spare time, to use this as the bar - if I cannot get a program to run reasonably well on those machines, I consider it a failure (or a candidate for optimization, when I am in the mood...).
- GFK_of_xmaspast 10y ago> I would not like going back to programming in an environment where I have to triple-check every variable to see if I can shave off a couple of kilobytes That's called "embedded development" and sometime's it's fun to visit but I'm glad not to live there.
- krylon 10y agoSome of my friends work in embedded development, so I have at least a second-hand feeling of what it's like to have to get the code work with only 64k of RAM. To be fair, most of the problems these people seem to face are relatively simple (at least a lot of the time) compared to writing multi-threaded web servers with two database backends (one relational, one NoSQL) using 47 different varieties of XML to represent the same data, but in slightly different ways that only become apparent once one has spent a few weeks reading the specs before going to sleep, until one dreams of the perfect file or something. I know embedded developers have their own fair share of troubling problems; I am so glad that even the worst bug I could ever come up with would be unable to endanger human lives. I start transpiring like a hippo just thinking about a user being really unhappy with a piece of code that I wrote; I seriously don't want to know what it's like if your bug has killed people. (Embedded development covers a wide range of problems, of course, but inevitably, some of those are going to have to do with transporting human beings across an ocean, safely, or something like that. I do not envy the people that have to write that kind of code.)
- ianhowson 10y agoI do both embedded development (day job) and web development (night jobs(s)) and it's not that embedded tasks are simpler, it's that you don't have to deal with a ridiculous stack of third-party code that is constantly changing. With an embedded system you know and control every component of the system, right down to the CPU bugs, and as a result your application code is much, much simpler. You can reason about and understand everything; there are no black boxes. The safety thing is not a big problem in practice. Your companies have lawyers, regulatory teams, risk assessors, standards and code reviews. You will thoroughly test everything to ridiculous detail (in my experience, 30:1 ratio of test:production code). Mistakes happen, but by the time they manifest in reality so many people will have had a hand in it that you won't feel personally responsible.