Slashdot Asks: Why Are Browsers So Slow? (ilyabirman.net)
Designer Ilya Birman writes: I understand why rendering a complicated layout may be slow. Or why executing a complicated script may be slow. Actually, browsers are rather fast doing these things. If you studied programming and have a rough idea about how many computations are made to render a page, it is surprising the browsers can do it all that fast. But I am not talking about rendering and scripts. I am talking about everything else. Safari may take a second or two just to open a new blank tab on a 2014 iMac. And with ten or fifteen open tabs it eventually becomes sluggish as hell. Chrome is better, but not much so. What are they doing? The tabs are already open. Everything has been rendered. Why does it take more than, say, a thousandth of a second to switch between tabs or create a new one? Opening a 20-megapixel photo from disk doesn't take any noticeable amount of time, it renders instantaneously. Browsers store their stuff in memory. Why can't they just show the pixels immediately when I ask for them? [...] Unfortunately, modern browsers are so stupid that they reload all the tabs when you restart them. Which takes ages if you have a hundred of tabs. Opera was sane: it did not reload a tab unless you asked for it. It just reopened everything from cache. Which took a couple of seconds. Modern browsers boast their rendering and script execution performance, but that's not what matters to me as a user. I just don't understand why programmers spend any time optimising for that while the Chrome is laughably slow even by ten-years-old standards.Do you agree with Birman? If yes, why do you think browsers are generally slow today?
Because we need a canvas-blocker add-on and a flash-blocker add-on and a cookie warning remover add-on and add-ons to remove all the ads on the page and we need add-ons to remove the dozens of trackers to protect our privacy and also add-ons that remove all the social buttons (twitter, FB, etc) which share our behavior even if we are not a member and add-ons that remove all the javascripts that load popups, do unwanted refreshs and Greasemonkey to make some pages readable and remove the ads that are inside the articles and we need an add-on to circumvent the anti-adblockers and .....
>Opera was sane: it did not reload a tab unless you asked for it. It just reopened everything from cache
No. That is NOT sane, normal, or desired.
Webpages are live. If I want to look at a chached version, I'll save the webpage locally. If I'm pointing a browser at an address, I expect a current webpage. If it takes all of three seconds to give me that, I think that's okay.
'And with ten or fifteen open tabs it eventually becomes sluggish as hell.'
I don't think that's the standard use case for testing, nor should it be. What the hell are you doing with that many tabs open.
"Unfortunately, modern browsers are so stupid that they reload all the tabs when you restart them. Which takes ages if you have a hundred of tabs."
Again, good lord. Hundreds of tabs? What are you even doing.
As to refresh, I think that's become a user expectation that you see the most recent information when you pull up a tab. Having to manually do it isn't something a standard user is going to do.
Maybe what you're looking for is to have 'power user' settings in the browser, so you can keep your hundred tabs open.
I agree with the summary. Basically, we have faster engines for rendering for HTML and JS, but the UI is really slow. IE family is the worst in this aspect.
On Firefox (my default browser), a nice boost in tabs rendering is made turning off the tab animation: changing "browser.tabs.animate" to false in about:config.
It's web pages that are filled with useless javascript libraries that people think they still need to use for cross-browser support even though Internet Explorer is long dead.
It's web pages that are filled with useless ads that run their own scripts, sometimes with their own libraries too, fetched from multiple servers.
It's web pages that are filled with useless tracking scripts, sometimes with their own libraries too, fetched from multiple servers.
It's web pages that are filled with huge animated GIFs that should be in video form instead.
It's web pages that are filled with auto-loading, auto-playing videos, jamming our connection to download something we don't even want to see instead of downloading the web page we're trying to read.
Disable plug-ins. Disable javascript. You'll see how fast browsers really are.
obviously don't care about painfully sluggish programs. Just look at the number of people that find Windows acceptable despite being horrifically slow. If you can get away with inefficient and poor code, why spend the extra money to hire decent programmers to make something not slow. There's no reason why Windows should take tens of minutes after boot before it becomes usable or why clicking on a Windows should usually take more than a full second, but because people keep giving Microsoft piles of cash for giving us crap, they have no reason to fix it.
Possibilities:
* You have too many slow addons enabled
* You are out of RAM
* The page is slow (big/complex)
* Your network connection is slow/saturated
* Their network connection is slow/saturated
* You are out of CPU (unlikely)
Do you agree with Birman? If yes, why do you think browsers are generally slow today?
Not really, no. Tabs open up basically instantly on the computer I'm typing this with. Doesn't matter much which browser I'm using either. I'm almost always limited either by the bandwidth of my internet connection or the slowness of the database on the other end of the line. I hear people bitching about this browser or that one being "slow" and I frankly have no idea what they are talking about. If you have an even vaguely recently built computer with reasonable hardware then it is a non problem. I also see comparisons between the browsers which claim this one or that one is faster and I simply don't see any meaningful difference. The only difference between them to me is the user interface and what bugs I run into. If there are speed differences they are simply too small for me to care.
Now he did say "hundreds of tabs" which is probably the root of the problem. My guess is that he's overtaxing his computer and running out of RAM. If you have hundreds of tabs open then you are Doing It Wrong.
I have a 2012 vintage Mac Mini and it runs just fine. Safari, Firefox, Chrome, doesn't matter. I'm typing this on a PC with a Intel i5 chip and an adequate amount of RAM and it's fine no matter what browser I use. I mostly use Firefox but I'm pretty agnostic about which browser to use as long as it works and I can block ads and trackers adequately. So no I don't think there is a problem with browser speed as a general proposition. I do think people can do stupid things that slow down browsers significantly.
Or as this article puts it more eloquently:
https://medium.com/@eshan/the-...
With open source software like Firefox it is more a failure of having the right people (engineers) at the right positions (the decision making ones). Instead they are left chasing the latest widget "feature" that no one ever asked for.
For a long time I thought that the "standard" Firefox was already bad, until I switched to my Tablet 80% of the time: Firefox for Android is just plain torture. Multiple crashes every day. Most of the time when clicking on a text field or adress bar, FF apparently hates those. other times its idling and crashes for no reason. Not to mention its hunger for memory. Unfortunately it is the only browser there that has all the features I need via addons (Mostly adblock and noscript). Opera is much better, unfortunately its adblocking is faulty and it does not recognize my hardware keyboard at all.
I remember my wikiwalks back in 2005-2007: I used to have 50-130 tabs open and nothing bad happened. That was on a Laptop from 2004 with a single core CPU. So really, it has gone downhill by orders of magnitude.
Because of browser feature creep, because of building everything on layer-on-layer-on-layer of the latest quickly thrown together crap, and because of the fact that browsers are now used for things they were never intended for.
Usually the problem with many tabs is that they get stored in the hard drive (this is virtual memory) because you run out of (physical) RAM.
Check out the WebKit project, build it yourself, and run it under Xcode's profiling tools.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Look, a browser has to do a lot. A WHOLE LOT.
1. Load page layouts, scripts, graphics, videos, & sound so that when you intentionally trigger something, your requested action happens *mostly* quick.
2. Sites want to earn money. That means that non-mission-related stuff (advertising) must get loaded as well. This is often worse than the simple text that most of us are actually seeking out.
3. Weed out malicious crap. Given the sheer amount of malicious crap out there, we're asking out browsers to do 99% of our due diligence for us. That means checking every little thing against massive blacklists and whitelists so that someone in Nigeria doesn't get the ability to turn on your webcam while you're getting intimate with the misses and extort you for money.
4. To allow us to do a billion different transactions through the same window. Bank transactions. Credit transactions. Messaging. And on and on...
5. Sometimes it goes to space and back... and then through a hundred other computers.
For one thing, users expect to see thumbnails of huge images, sync status badges on Dropbox or other online backup services, multilingual filenames written in scripts whose coverage requires multiple fonts, etc.
Yes, pages explicitly saying do-not-cache for most if not all elements by default, in order to placate advertisers and trackers is one of the main reasons. Combined with going to https, which defeats proxy caching[*] and needs extra computation, the experience is much slower.
[*]: This is why Google pushes and advocates https so much - don't be fooled into thinking they truly care about your privacy. Really, they make money on selling your private information and history. With proxy caching, they can't tell whether one person has viewed an element or a hundred, all behind the same proxy. The advertisers want to know that.
But part of it is code bloat too, with so many abstraction layers that every job takes orders of magnitude more work than needed.
There may well be some missed opportunities that I'm in no way qualified to comment on; but at least part of the "browser performance goes to hell when you have a zillion tabs open"/"it takes ages to restore a zillion tabs on restart" trouble seems likely to be connected to the fact that web pages have, somewhat awkwardly, evolved from being pretty much pure markup with a small sprinkling of javascript(which had the advantage, both for inexpensive background storage and quick restoration, of being nearly stateless, aside from any form fields that had been filled in; and could be stored or re-rendered from cached assets at your convenience); to being pretty much full applications, with lots of state all over the place; and often a variety of assumptions on the server side about what the client side is doing and vice versa. You can put such a page on ice; or dump it and re-render it from cached assets; but if you do, don't be surprised if you get dumped to a login screen or the page ignores most of what you've saved on its behalf and starts xmlhttp-request-ing anything that might have changed since it has been away.
If you feed them retro websites, or sites designed by people with classic taste, contemporary browsers are faster than a bat out of hell with rocket boosters. That just doesn't help you against modern websites; which are both bloated(typically with slow-as-hell 3rd party ad code, just to add injury to insult); and still somewhat awkwardly trying to move from a caching model mostly designed to keep pictures from being unnecessarily retransmitted to something suitable for letting full applications pick up where they left off.
The amount of crap most commercial sites put into their pages is amazing. It's not only slow, but a security risk.
A non-profit organization can set up a "K.I.S.S." standard and create a minimalist browser. If a site works fine in the KISS browser, they can place a logo on their site to advertise they are KISS-compliant (or have a KISS-compliant alternative site/page, which the KISS browser would automatically redirect to.)
It's kind of like the concept behind Underwriter's Laboratories.
KISS wouldn't allow JS, Flash, cross-site images, and pop-ups, at least not without explicit user clicks via standardized icons (and markup) to launch them.
(And clean up the stupid CSS "float" model so that we don't have to use tables or JS to get decent columns that also are also mobile-friendly.)
Table-ized A.I.
And then end up getting modded down for making uninformed comments on account of not having read the featured article. Several sites admit that they can't tell tracking blocking (such as privacy.trackingprotection.enabled which uses Disconnect's list) from ad blocking, such as WIRED, The Atlantic, and the INQUIRER, and sites like Slashdot continue to link to stories on these sites.
It used to be that you just had to be constantly mindful of the total data footprint of your page. These days pagers are much more complex and developers don't seem to give a shit about optimising. You load a page and it comes with of megabytes upon megabytes of images, flash adverts, it has embedded ads that delay the loading of the page because some ad server isn't responding, you get certificate warnings because somebody at Ads-r-us forgot to renew a certificate, pages are backed by business logic running on servers that are overloaded or slow for some other reason (like lousy coding and bad database design). Finally, try installing something like Ghostery and enable the feature where Ghostery lists the sites that get notified when you load the page. On some sites the list is so long it disappears over the upper edge of the screen so there you have another potential reason for slow loading, if you install privacy plugins it adds another source of latency.
I do development where I need to look at the source code of a page, to make sure that certain elements are present. The attitude that caching the page for even a fraction of a second is "bad" has made it very difficult to do this anymore - If I ask for the source, the browser claims the page is "expired", and demands to reload it. That changes what I'm looking for, making the request invalid.
Even trying to save the page locally requires that it be reloaded. It's become nearly impossible to check a page's actual content.
HTTPS doesn't "defeat" a caching proxy near the client. It only requires users of said proxy to take the step of trusting the proxy's root certificate. The one thing it "defeats" is an intercepting proxy that tries to hide its existence from its users.
I don't know the specific code in question, but I have seen enough code to have a theory.
Long-lived software projects that implement programs with complex features (and web browsers have an astounding array of features), especially those that interact directly with users, who put programs into a position of continually having to respond to extremely complex sets of inputs (just think of how many valid inputs there are to a web browser at any one moment), tend towards a style of implementation that can best be described as "layers upon layers upon layers of framework".
One aspect of programming that many engineers are, in my experience, not very good at, is deciding when to simplify frameworks versus making them more complex. I think it comes from a fear that many people have of painting themselves into a corner -- we've all seen code so inflexible that it makes extending it at a later time difficult, and I think that many people respond by going too far in the opposite direction - to avoid painting themselves into a corner, they put 100 doors in every room so that there is always a way out.
The end result is that every aspect of the complex program is designed to be extensible well beyond anything that will ever likely occur in practice. And the interactions between these complex layers of framework become so complex themselves that new layers have to be invented just to try to simplify things and allow any hope of rationally moving forward.
So what you end up with is incredibly deep stacks of function calls for almost any action, as various extensibility layers are passed through, along with the layers that consolidate previously implemented extensibility layers into simplified layers that more directly match the actual requirements of the program.
I have occasionally seen stack traces from programs like Firefox, and I expect Chrome is no different, and the depth of the stack at the point of a crash is always somewhat breathtaking. You may end up going 30 - 40 layers deep before you actually get to a piece of code that has a tangible effect on the state of the program.
Now imagine that a particular user input requires running through a function that has to call out to several parts of another framework layer, and you're going to be paying the deep stack penalty multiple times.
What you end up with is a large code base that does everything necessary, but in a way that is embellished to a nearly pathological degree, where every action takes 10 - 20 times longer than it would had that action been encoded much more directly and with far fewer framework layers.
The advantage of such a large code base is that it has enough flexibility to rarely, if ever, require a complete redesign as new feature requirements come up.
The disadvantage is that it will never operate as efficiently as a more directly coded program, and you get user interfaces that require executing literally billions of machine instructions just to effect fairly simple changes to its internal state machine.
That's your web browser.
the ads, and their infrastructure, even with blocker turned on
nothing to see here - move along
Advertising is becoming more and more agressive, multiple banners, multiple videos, multiple cookies, multiple scripts, images, all tracking the activity continuously...
I really don't know why they killed Presto tbh ... it was faster (in real-time execution speed, which mostly means DOM performance, not useless JS benchmarks) than any other browser, and it took less resources. I mean heck, My workflow (on a 256 MB machine, mind you) was opening roughly 50 to 100 forum threads at once, and it didn't slow down perceavably. Try that on chrome or firefox and they die after the first 20 pages or so even if you have multiple gigs or RAM.
Sorry.. but something is seriously wrong if a 2014 iMac takes even a second to open a blank tab.
I'm sitting at a 2009 iMac that opens blank pages nearly instantly.
I call PEBKAC
Firefox opens new tabs instantly, not only after two seconds. If I hold down ctrl-T it pretty much keeps up with the key repeat rate. Switching between tabs is pretty much instantaneous as well. And when you restart your browser, Firefox will only reload any given tab when you click on it, and not try to load all of them at once. In other words, isn't the problem more that the OP is using the wrong browser? Or, alternatively, is running that browser on hardware that is just too low on memory (something that has a very significant impact on browsers, given the incredible amounts of memory they use)?
BTW, I do agree with his doubts about the effectiveness of the cache. And I also wish it would cache IP addresses more effectively; when travelling, I'm extremely frequently greeted by endless (and very long lasting) DNS lookups for the same domain, over and over.
Stop trying to surf the web with your toaster.
But seriously, I expect the answer to performance issues has something to do with pleasing the people who complain about browser memory usage. If you open 15 web pages with tons of graphics and videos and whatever they're going to use a lot of memory. If your computer can't handle it all, something is going to give, and a performance hit has to happen SOMEWHERE as a part of that.
When you open that photo, you're ONLY opening the photo. Easy. When you open a web page with the photo on it, you're downloading the file from the server, caching it on your local hard disk as well as in memory, loading the whole web page and all included files including scripts, not just a single image. The image viewer knows how to scale images fast because that is what it is designed to do. Your browser does as well but it wasn't designed to scale images for any specific purpose so it can't assume, for example, that the image won't be overlayed or it won't have an imagemap for interactivity or any number of things.
Why are most websites so badly designed and so bloated they load slow?
Slashdot before 2.0 was screaming fast. Then they introduced all the JSON garbage that slowed it down. It's all about being pretty over functional.
Do not look at laser with remaining good eye.
.. and high end environment, network, etc.. This prevents them from seeing bottlenecks.
* You have too many slow addons enabled
[...]
* The page is slow (big/complex)
The problem is that fixing one of these can break the other. Nowadays, one needs an add-on, be it a browser extension or a DNS blacklist manager, just to block the parts that make pages overly complex with upwards of 1 MB of scripts and video ads for a 4000-word article.
* You are out of CPU (unlikely)
On a phone or tablet CPU, it's surprisingly likely.
It definitely feels like things are slower these days. I find the whole hair brained decision to semi-save state and never close things after a program crashes or is actually terminated very user unfriendly. AdBlock, uBlock, and Privacy Badger seem to be doing more work than ever. I've seen plenty of professional web designers who are completely happy to just push a bunch of images over a MegaByte right over the wire. That was not normal so long ago. Throw a bunch of WebSockets, javascript thread loops, flash videos, and multiply that by a bunch of tabs that the some idealist thought should never be closed for the user, and we have a recipe for slow browsers that have been optimized for idyllic users, idyllic websites that are no longer there, and idyllic speed tests that mean less and less.
As long as web sites pack every possible space with bandwidth sucking animations. As long as refresh is used with wild abandon by incompetent web designers, browsers will appear slow.
Please do not read this sig. Thank you.
...you're just too damn fast!
Fully licensed blockchain psychiatrist
I'm pretty sure most of the problem is Adobe somehow managed to make the newest version of Flash even slower and more resource consuming than Flash from a year ago. But you absolutely have to make sure you have the newest version installed at all times, since Flash is also a security mess, despite the fact that Adobe has also made keeping Flash up to date a huge PITA (to the point that MSFT and Google handle the updates for them on their respective browsers.) The performance and security of Flash has been a continuing problem for decades now.
Why they bother to continue to develop and release new features for it puzzles me, plugin based content is very clearly a dying platform at this point and its partially Adobe's fault (we wouldn't want to get rid of Flash if it didn't suck so hard.)
First of all "modern browsers are so stupid". Oh really? Sounds like a pebkac to me?
Network latency? Web servers that can't keep up? Inefficient javascript written by someone with introductory programming skills? Loads of clickbait ads and garbage? SSL handshake madness?
Sure blame the browser. Whiner.
Plenty of sites out there that load up instantly, or if you are storing all the content locally on SSD, it's crazy fast.
Firefox user here, about 20 extensions including ubo and noscript, on a modern computer with ssd and high end gfx card. None of these problems manifest here.
Specialization is for insects. -Heinlein
You can do "responsive" things or whatever without a single line of JS if you learn the standards.
Without either reloading the entire page or using JavaScript, how can a comment section like this load newly posted comments when the user requests new comments or load comments below the previous score threshold when the user requests to lower the score threshold?
And without JavaScript, how can a website reassure its sponsors that the user is likely to have viewed the sponsors' messages? Or do you want to end up having to buy a $4 per month subscription to each site that you find in a web search?
What you are missing is that even if the browser has the library cached, it still much reach out to the server to see if it has the latest version
Not if the version number is in the URL. Then the CDN can serve the library with an Expires: header with a value years in the future.
How much of modern browsers are written in assembly, or C++, or a directly compiled language? How optimized is it? Or are they sloppy about writing it because everyone has 9000GB of RAM plus a swapfile and 256 main processor cores, so who cares about 'efficient' or 'optimized'? That, plus aren't things like Javascript incredible resource-hogs and slow to execute compared to native code? Then there's the fact that the vast majority of websites are pulling 'content' (read as: mostly useless crap) from literally dozens of domains all over the planet, not just from one server. Are these the issues that are making a web browser on multi-gigahertz, multi-core machines run like it's 1995?
Just saying ...
http://saveie6.com/
It could also be that restaurant owners are telling the cooks to send out meals poorly prepared and poorly presented.
Let's make like a bird... and get the flock outta here.
You're referring to subresource integrity, correct? That exists, but only Firefox currently allows the server to specify that scripts from a particular origin require SRI.
According to Moore's Law, our computers have become 1024 times more powerful today, than they were 15 years ago. This awesome increase should have accommodated the increased number of things we expect from our desktops, browsers included.
That it has not, is explained by the people involved. Programmers — of both the web-pages and the browsers. jQuery is bad enough, how about multiple instances of jQuery — because different components of the same web-page ask for a different version of the library?
What used to be coded in C or C++ is increasingly being implemented in Java, Go, Python, Rust or Ruby. Because it is more convenient for the programmers. Oh, yes, it is slower — just get a faster machine, would you? And I don't mean to trash these languages here — you could write good code in them. But you could also, without even realizing it, write bad code — and ship it...
Sysadmins aren't much (if any) better. Tracking package-dependencies is hard — let's use containers. This application needs Java-1.8u67, but this other one has only been tested with 1.8u63 — so we are going to run both JREs side-by-side, who cares about the wasting more RAM by doing so, than a typical desktop computer had in 1993?
For better or worse, humanity needs many more programmers, than are naturally born. Folks going into a profession without an enthusiastic calling for it aren't going to make things great, they are happy to settle for "good enough"...
In Soviet Washington the swamp drains you.
...and I just now opened a new tab (fully rendered) in about 1 second; this with a Dell Inspiron 1545 (2009, not at all new) with 10 tabs already open, two of which are playing media simultaneously, the other 8 are on a variety of content bloated websites like grabien.com (don't ask, I just followed a few News links from google).
I agree 1 second is an eternity for a PC, just to load a new (blank) tab. Especially compared to what I did at work today, which was to configure a gnuplot generated graph of a multi-dimensional rendering of about 25,000 data points, and it did this in the blink of an eye, it is a bit disappointing, but, get real, a second ? What did you do during that second you had to wait ?, you don't even need to breath every second.
Why would you want 100 tabs open?
"I've been doing this for three decades now."
You've been working with browsers since 1986? You are a true poineer! I guess Sir Tim Berners-Lee stole his idea from you in 1990.
Ninjas don't carry tic tacs
What do you mean, 'slow'?
Have gnu, will travel.
Really, someone on /. does not understand why a jpg image stored on a local drive loads 'instantly' vs. a collection of scripts and code that needs to be "compiled" before displaying.
I'm not expecting everyone to be a rocket scientist on here, but come on, think about the difference between the two for even a minute.
HOSTS-level blocking
I have a Galaxy Tab A running Marshmallow. Like most other Android tablets, it supports Unknown sources, but it isn't rooted, and editing that file requires root. Can I get DNS blacklisting as an APK that I can install?
Without either reloading the entire page or using JavaScript, how can a comment section like this load newly posted comments when the user requests new comments or load comments below the previous score threshold when the user requests to lower the score threshold?
I read Slashdot in the mode where there's none of that. It's fast. Well, faster - because it's still making the advertisers happy.
Socialism: a lie told by totalitarians and believed by fools.
... not all of the blame lies with the browsers. My theory is that there must be some really poor code libraries that have gained a wide acceptance in the web designer community.
In a slightly off-topic vein but related to the browsing "experience": a major pet peeve of mine is web designers' failure to use the image size information to preallocate space on the page. Depending on the site and how busy it is, it can take as long as ten seconds for the page to finally quit re-rendering after every image dribbles in. "Behold our graphics-rich page layout! Isn't it impressive and worthy of an award? Oh, you wanted to read the content? We never took that into account." This is just laziness. The way to avoid this has been around since the Netscape days and is nicely described in O'Reilly's original HTML text.
CUR ALLOC 20195.....5804M
Privacy is getting harder and harder to find online, which is why it is important to work for it where we can. Moving everything to different processes, making use of OS level security features- all of these create redundancies. I'll also point out that PCs offer another solution in general to software inefficiencies- buy better hardware. While this is not an ideal solution (and arguably doesn't even address the question at all), it does reduce the market demand for efficient software.
Ditch all the multimedia BS and see how fast your internet connection can be.
COE
One thought I had as an alternative to mass reloading of tabs isn't really a consumer level solution, but it might be interesting to some.
If you run your browser through a VM, and save a snapshot, reloading that snapshot may take awhile, but it won't reload your tabs from remote. Might be worth looking into if this is important and you have an SSD though.
I'll also add this: when you close your browser, you might not WANT images of webpages to be automatically saved to disk, ready for reload. Having this as a basic functionality would probably not be the wisest decision from a privacy perspective.
... they not just render webpages, you know (they call it "bloat", I think...)
Much of the recent blame should be placed on the new universality of using SSL/TLS for everything.
The problem is, negotiating a cold SSL/TLS handshake from scratch takes a certain amount of time... and there's very little you can do to speed it up with current standards. Adding certificate-revocation lookups compounds the problem and adds even more time. In the past, a site that "used SSL" might need to do one or two key exchanges for one or two different hosts. Now, a single page might require a dozen or more key exchanges... and some of those key exchanges might not even be known by the browser to be necessary until after it's done the first few (because some script delivered via https references some other asset via https on a different host).
SSL/TLS itself is generally a good thing... but the WAY it's currently being used was NEVER seen as a realistic use case 20 years ago when it was first implemented. Simply put, SSL/TLS key exchange and CRL doesn't scale well in their current form.
This is also part of the reason why it's so common to end up with "five bars of LTE signal strength, but no working data-connectivity" -- mobile apps are "chatty" to begin with, and many of them do a shit job of keeping https sessions alive between requests, so every single background https request requires yet another new handshaking and revocation-lookup. In areas where you have a cell site with limited backhaul connectivity and occasional surges in the number of users (say, a cell tower near a large state park serviced by only a T-1 line or two... on July 4th, when 60,000 people might descend on the park for a few hours), the endless key exchange traffic ITSELF can almost fully-saturate the tower's backhaul capacity.
There are several different phases involved in loading a web page. The first is how long it takes for the site to actually send the response to your request. If it takes 5 seconds to request index.php, there is not anything the browser can do to fix this. Caching and optimizing code will help, unfortunately most sites are build on a CMS (ie wordpress), and most designers / admin do not know how to optimize this properly. If this is slow it is usually either bad code, or trying to store entirely too much stuff in the database. Some, very poorly designed, sites will also make remote calls to external servers, this is painfully slow.
After the html is sent to the browser, the browser will start the rendering process. This involves loading all CSS and Javascript files referenced in the html. Old logic was to move the javascript to the footer to ensure they load after the main content is loaded. Unfortunately, with new browsers this does not matter. They will delay rendering of the content until all javascript is loaded on a site. This is to avoid information being moved around on the screen when files are finally loaded.
Hopefully, most designers will move their expensive javascript functions to a $(document).ready function but that only speeds the page display up after the javascript files have been loaded. Beyond that the best thing that designers can do for javascript heavy sites is defer the loading of their javascript. This allows the html to render before attempting to load javascript. Not all libraries support this, namely jquery, by default. But it will help speed up the time from the request to the time something is displayed on the screen.
With all of these methods, the time that it takes to completely load and render all content on the page will be about the same. But, from the users point of view, the page will appear to be loading faster.
HTTPS doesn't "defeat" a caching proxy near the client. It only requires users of said proxy to take the step of trusting the proxy's root certificate.
If you do that, your browser will only see the proxy server's certificate, not the endpoint's. That's a problem.
Many users expect the new tab page to have the speed dial feature, which shows a screenshot of each of several sites that the user commonly views. This is even more true of visual learners, who may associate a site with its logo or color scheme rather than the text of a <title> element. It's also helpful for sites that pay little attention to putting useful information in a document's <title>, in part because many browsers have begun to deemphasize <title> in their presentation of HTML documents. Each item in Yvan256's laundry list applies just as much to generating said screenshots.
How much does the increase in data charges from operating your web browser without a cache compare to the cost of moving your boot volume from your 5400 RPM HDD to an OCZ SSD?
(Yes, data charges. Not everybody lives in the service area of an ISP that offers a 1000 GB/mo quota to home users, such as Xfinity by Comcast. They have to rely on 10 GB fixed-cellular service. And even those who do live in range of fiber, cable, or DSL may have to drop home wired Internet to afford mobile Internet.)
Browser hamster is taking a smoke break while waiting for you to do something.
Does "mobilegeddon" affect results of searches performed from PCs? I remember reading somewhere that it does not; only results for queries on touch-driven devices are affected. If not, then any effects of "mobilegeddon" are ultimately the result of your audience abandoning PCs for web browsing in favor of touch-driven devices.
Your proxy server sees the endpoint's certificate. If the endpoint's certificate doesn't check out, the proxy server refuses to issue its own certificate for that site.
I've complained and complained about how poor the performance of Firefox and Chrome and IE Javascript and CSS rendering engines to every board that they have!! I just can't get them to fix the speed with my desire to have 15 javascript frameworks and 38 custom stylesheets and have those automatically generate all the text in my site in a specific location so that I can resize the screen and have things bounce around and look just a little bit different in case someone with a mobile phone happens to come across my page and managed to get it loaded into the mobile browser before the render engine the browser to run out of memory and be killed by the operating system!!!!!
When you write up a nice block of text, browsers are super duper fast. Add in some images: still super fast. Add some basic javascript: cool beans, they can handle that. Some CSS to make things pretty? SURE! Oh, you want to lump in a generic framework of 800 functions, of which you really only need to use 10 of them, and an associated set of stylesheets that are then rewritten by parts of said JS Framework to draw out 13 little buttons? Well, that's going to work but your going to pay a price.
Web developers, do the internet a favor and test your pages on a browser running in a virtualmachine with 25% of 1 CPU and 512MB of memory, and force the network speed down to 2-4Mbps. And on that same VM, profile the page to see how it's render performance is handled. Then fix the page until it works there. Please, use all the JS files you want, but if your page takes more then 3 seconds to fully render, you're doing a disservice to the whole web.
And go away with any "upgrade your computer" BS. No one's using a C64 here. If you're page can render in 3 seconds on that VM, imagine what it will do on a modern PC.
The (U.S.) National Weather Service and other weather forecasting agencies do update their forecasts every several hours when they re-run their models based on new conditions read by sensors. And a forecast past five days is a crapshoot.
If the most popular web browsers all suffer from the same problems, could you build a new browser that avoids some of the problems with significantly better performance and remains compliant with web standards? Surely some group could fork Firefox and offer at least a Linux variant!?
Ok, I am very astonished by this question "Why are browsers so slow?" which since you're most likely a millenial you might as well re-phrase the question as "Why are browsers slow AF?"
No offense but you obviously have no idea what a slow browser really is. Try Netscape 6 or IE6 and let me know if you think Chrome is still slow. First of all, are you sure you can attribute all the slowness to the browser itself? Did you crack open the modern browser developer tools that we all have now (hint: Firebug and Chrome developer tools didn't used to exist until a few years ago) and look at the network tab or equivalent to make sure that the web server/REST service/whatever isn't taking a long time to serve back data? Better yet try profiling your own javascript code with console.log, console.time/console.timeEnd. Since you can use an identifier, you can even do it asynchronously, how fancy is that? I seriously doubt you've done any of these exercises because most modern browsers take javascript, compile it into native code and cache which is about the fastest you're going to get javascript to run. Microsoft completely rewrote it's rendering engine multiple times the latest of which is Edge. Firefox, Chrome and Safari have all had similar efforts. I've been a web developer for a number of years and I can tell you, the stuff we have now is lightning fast.
You try serving up a web page to Netscape Navigator using a cgi-bin perl script from an old version of Apache and let us know if you think modern tech is still slow.
It just appalls me. No matter how much better we make technology there is always a generation that comes along and tells us all of our effort are crap because they think everything needs to be bigger, better, faster. If you want to complain, you get engaged and make it what you think it ought to be. Until then you have no room to complain if you're just going to comment from the peanut gallery. Gah.
We'll make great pets
I agree with this comment. I can't even begin to understand how so many people have contributed useful information to this story when most ask slashdot articles consist entirely of comments bashing the person asking. This one where the person asking and the editor who approved the content both need to be whipped and suddenly slashdot is a helpful community?
Why is that "Wrong"? Because your brain doesn't work that way? That's how I've always browsed and only recently did it become terrible.
It's "Wrong" in the sense that just because you can do something it doesn't mean it is a good idea. Your brain doesn't work that way either even if you think it does. People are demonstrably terrible at multitasking. That's why we can't talk on the phone and drive at the same time safely. You cannot possibly convince me that you are doing anything productive with most of those tabs. It's merely a form of hoarding. Opening that many tabs chews up a ton of memory and then you complain that things get slow? Of course it gets slow! What else would you expect?
Now it's your prerogative to run your browser any way you want but don't whine to me that it gets slow when you are doing something that very predictably should result in it running poorly. Furthermore don't pretend I'm stupid enough to believe that you are maximizing productivity by opening dozens of tabs you cannot possibly be actively working with.
Here's a quote from a bug report about gamma:
>Noone seems to care about this feature, noone has been working on it.
Perhaps a better approach is to make test clips that include Herman's Hermits footage. Then you can use Noone to your advantage, fighting pedantry with pedantry.
If the endpoint's certificate doesn't check out, the proxy server refuses to issue its own certificate for that site.
That doesn't tell you what's wrong. And it always hides the real security details, showing the proxy server's security details instead.
And doesn't help if you need to access a site for which you have the CA but the proxy doesn't.
In practice, https pretty much defeats proxy caching. Which Google just loves.
... of all this crap on the web? Every cat photo. Every dumb script. Oversized image files. Etc. Each one has a tiny cost, if only to power the routers that smear it across the globe.
We learned to live with the dumbing down of design to accommodate acessibility and mobile. Could we live with image rationing and yellow on blue again, if it turned out the internet was pissing away enough resources to feed a small country every day?
(I guess jobs are created too. But I'd argue the people who do them would be better employed digging holes and building stuff.)
Has anyone done the sums?
I think why are webpages slow is the more relevant question. and to find a detailed answer, right click on the page and click "inspect" in Chrome.
click network - the amount of http/s requests the browser is making and how long their response takes. slashdot.org for me, a total of 151 requests from webserver(s) to obtain all data and assets for the page.
click timeline and profiles to view JS activity/response times.
the other part of the question - regarding tabs, it COULD just show the last rendered pixels when you click on the tab - but how long would this be relevant? it would probably quickly show it to you then have to run the scripts to pull the latest data anyway ( e.g. an ajax request for latest content ) - so in either case - it either loads on click of tab, or a fraction of a second after the click which would potentially just "flash up" the new data and might be jarring for the user.
Some of this is important for all devices ( even though its focused on mobile ): https://www.ampproject.org/lea...
Why, if every browser maker and/or web developer did what I want then everyone would be happy.
However, I won't actually do any of that, lest I be proven wrong. That way I can smugly act like I have all the answers.
It doesn't help that browsers are expected, to a degree unheard of in most other software, to accept then try to normalize sloppy input (markup) across 6+ version of HTML, and that the latest standard canonizes sloppiness.
I don't get why you think they're slow.
My Mosaic browser works ultra fast.
-- Tigger warning: This post may contain tiggers! --
Firefox has been my browser of choice for a very long time. (My browser before FF was Netscape)
I have only a couple of add-ons. I run Linux/XFCE, have plenty of RAM and CPU.
A few years ago Firefox started to really bog down, so I switched to Chromium for about 6 months. I kept updating and trying Firefox, and eventually it got better. So I came back to it.
About 6 months ago it started slowing down again. Here is how it would behave: when I would launch the browser, it would come up rather quickly. But it would be unresponsive for about 30 seconds. It wasn't using CPU or RAM, just sitting there. By default it opens to a blank tab. There was NO reason I could tell for the slowdown. Even if I opened it with a url, like from an email, it would still open in zombie mode and wait 30 seconds before even showing the url in the address bar. It was maddening.
So now I am running Pale Moon and love it. It's not slow, yet it maintains all the things I like about Firefox.
My wife is on Win7 and she faced her own issues with the recent versions of FF, and she switched over to Chrome.
My beliefs do not require that you agree with them.
Of all the software that tracks your every move to help monetize the time you spend online.
"Safari may take a second or two just to open a new blank tab on a 2014 iMac." no, it won't - it doesn't even take half a second to open a full homepage on my 2011 mac. "And with ten or fifteen open tabs it eventually becomes sluggish as hell." nope - maybe OP should look at his/her computer, add some RAM (4 GB is so 2001) and uninstall useless crap and bloatware that slows down the system.
Safari doesn't reload background tabs until you switch to them. (Unlike Chrome, which does try to open every tab at once, hammering the internet connection, the processor, and the RAM.)
One consistent performance problem I see across browsers is large tables take forever to render even with static column attributes. You can load an excel spreadsheet with tens of thousands of rows instantaneously.
The same data in a table pegs a core and consumes a GB or more of RAM with minutes or more delay. Often as the number of rows increase there is a huge corresponding drop-off in performance until it becomes practically unusable.
Otherwise I have no real issues with browser performance. Sure browsers like IE do the darndest things you've ever seen sometimes including getting so slow as to be unusable when display large ASCII text files. That's right.. not complex HTML but text rendered as TEXT.
Browsers are like everything else. The EE's give us incredible hardware and we go out of our way to waste it with lazy sloppy coding simply because it's cheaper not to care.
Browsers are the same way.. all kinds of hard work on fancy algorithms and optimizing performance ... obliterated by "developers" who think HTML/JavaScript/CSS are "too hard" and instead insist on piling on layer upon layer, framework upon framework, widget after widget, piecemeal XMLHttpRequest after XMLHttpRequest, fill site with social media bugs, cross site trackers, ads/malware, use third party bugs to get web stats because you are too lazy to install a stats package to analyze your own access logs. Some sites just enjoy selling out their customers to stalking firms who often cross sell-out customers to other stalking firms leading to hilarious trees of connections when accessing a single page. Yet others are completely oblivious to what is going on behind the scenes.
Web sites written by people who care about wasting their users time load instantaneously. It's amazing. Never really had issues with browsers themselves not being responsive divorced from the bullshit occurring within them. I'm not really sure how what is being described by TFA is even possible given so much runs in separate process/memory space these days.
I think I found your problem:
Which takes ages if you have a hundred of tabs.
I can't imagine my browser being remotely functional if I had hundreds of tabs open.
Why does it take so long to switch between tabs? Why does the browser pre-render tabs when I start it? Why when I have a hundred tabs open each containing a complex and sizeable document do things slow down?
Seriously? The question started out possibly interesting and soon degenerated into contradictory whining.
Safari may take a second or two just to open a new blank tab on a 2014 iMac
Not it doesn't: My wife has one.
And with ten or fifteen open tabs it eventually becomes sluggish as hell.
No it doesn't.
Why does it take more than, say, a thousandth of a second to switch between tabs or create a new one?
It doesn't.
Right now, I have a 3-year old development machine, running Firefox, with 20+ tabs open. Hang on.... *presses ctrl+t* Wow, that was instantaneous.
Why did some guy's rant about "Why is my computer so slow?" make it onto Slashdot?
Context for moderators: A claim that the rise of HTTPS is making the browser slow by making it hard for an HTTP proxy near the client to serve cached versions of public pages to multiple users, especially one in a poor or remote area. Counterclaim that one can run a caching HTTPS proxy and have its subscribers trust the proxy to verify origin servers' certs on your behalf.
That doesn't tell you what's wrong.
Another approach is for the proxy server to display the failed certificate's information on a page with HTTP status 502 (Bad Gateway).
And it always hides the real security details, showing the proxy server's security details instead.
I concede that you have found a legitimate drawback of an HTTPS MITM proxy that operates in this manner. I'll have to bring it up if someone else makes this claim.
And doesn't help if you need to access a site for which you have the CA but the proxy doesn't.
If you have a particular root certificate but the proxy doesn't, then it's probably a private CA, such as a CA for servers on your intranet, and no other subscribers to the same proxy are likely to have the certificate either. So unless it's an intercepting proxy that your network won't let you override, you can tell your browser not to use the proxy to cache that particular origin. In Firefox, for example, try Preferences > Advanced > Network > Connection > Settings > No Proxy for.
Uninstall all addons but a adblocker and a scriptblocker and browsers are blazing fast, because renderengines were optimized in the last few years to get every bit out of them.
What hosts do addons can't (or as well):
Uh...addons (at least on Firefox) can do pretty much anything. The whole browser is written using the same technology. So it doesn't make any sense whatsoever to say that addons can't make the browser do any arbitrary filtering or processing. (Chrome addons are deliberately crippled, admittedly.)
Ezekiel 23:20
Even with no-script (or especially with it as may be the case), I try to load a page. It partially works, but needs some scripts to work properly. I tell no-script to allow all this page, but then when it reloads it wants even more scripts from more places. Tell no-script OK again, and then when it reloads, it still wants more, or some of them change.
Sometimes takes 3 or 4 tries allowing and reloading just to get pages to render by the time I've approved the 50 other sites they want to load content from.
Generally speaking, I try to avoid websites that go overboard this way, but it is sadly getting to be way too common. Sometimes the no-script list is so long I have to scroll through it.........
I have a 2012 Macbook Pro 2.7GHz quad core with a nearly full SSD and 16GB RAM. I have several apps open nearly all the time, about 10-15, including Xcode and some Adobe apps, Fireworks and Photoshop among them, Preview and TextWrangler and a few more depending on what I'm doing, several messaging apps sit open as well, email and of course my browser. Safari with two windows open, one for work tasks with 3-4 tabs and one for news with 12 tabs. Opening a new blank window or a new blank tab happens fast enough not to bother measuring. Opening the Drudge Report is under a half second. Refreshing it is about the same. Opening Apple.com with it large format graphics is equally quick. Opening Kickstarter is a bit over one second. And I am doing this on a 27 inch thunderbolt display with the browser covering all but two columns of desktop icons to the right and the dock at the bottom. I interrupted posting and shutdown safari, then reopened it. I was fully loaded, both windows and all the tabs on the front window (couldn't see the tabs on the occluded window) in under 2 seconds.
... I can't offer much else without more details. But I don't have such issues. Oh, Frontier FIOS at 100/100 residential ... I have a busy active system that runs 24/7 and don't see the problems he sees.
I have flash disabled. I have ad blocker plus installed (/. is whitelisted because they haven't served me a virus payload or porn or claimed my windows pc was infected) and I have Java applets disabled (but not javascript because that broke way to many sites that should know better and get on the CSS and HTML5 bandwagon) I disallow third party cookies, I used to background load tabs, that isn't a selectable option anymore, but sometimes Apple prefs lose UI but not there presence. I also have another ad-blocker enabled KA-Blocker.
So the poster problem may be resulting from a slow internet connection or lots of background activity with Safari playing nice citizen
- Tjp
I am in wallow with my inner money grubbing capitalistic pig. ... Oink!
Doesn't work against this malicious ad. This advertiser maintains dossiers and tries to find out people's real life details to harass them if they expose the truth behind it.
Change is certain; progress is not obligatory.
Addons exist like "SwitchHosts" or "Change Hosts". So an addon can even do hosts file. Stop spreading lies.
Considering an addon in say, Firefox, is perfectly capable of intercepting a URL being accessed before it's accessed in a webbrowser, there is no reason why an addon couldn't do that.
Generally I've not had issues installing Chromium or Firefox addons on Linux, Windows and macOS ?
Change is certain; progress is not obligatory.
Part 2: Due to lameness filter sucking.
I don't know about that, most people have a hard time figuring out how to run notepad as administrator.
There are numerous cases where hosts files are less efficient. For example, the fact it resolves an IP address will mean the browser by default will try to connect to it, even allocating a socket before failing. If you block it on the DNS level and get a NXDOMAIN, that doesn't happen. Alternatively, you could even intercept it in an addon, again, preventing such cases. Additionally, try blocking entire domains, with all their subdomains, you're reaching 1TB+ hosts file size just to block a couple of domains fully, which, the operating systems fail to load, but not before wasting massive I/O resources and still maintain part of that in memory, wasting massive amounts of RAM.
Change is certain; progress is not obligatory.
APK Hosts File Engine 9.0++ SR-4 32/64-bit https://www.google.com/search?...
Ads rob speed, security (malvertising) & privacy (tracking).
Hosts add speed (hardcodes/adblocks), security (bad sites/poisoned dns), reliability (dns down), & anonymity (dns requestlogs/trackers) natively.
Works vs. caps & PUSH ads.
Avg. page = big as Doom http://www.theregister.co.uk/2... & ads = 40% of it.
Hosts != ClarityRay blockable (vs. souled-out to admen inferior wasteful redundant slow usermode addons)
Less power/cpu/ram + IO use vs. DNS/routers/addons/antivirus (slows you) + less security issues/complexity.
Compliments firewalls (blocking less used IP addys vs. hosts blocking more used domains) & DNS (lightens dns load).
Gets data via 10 security sites.
APK
P.S. - Safe https://www.virustotal.com/en/... (Verified by Malwarebytes' S. Burn "seen the code & it's safe" http://forum.hosts-file.net/vi... )
The pages these days are full with junk from a gazillion sources. Even this page pulls content from EIGHTEEN different sites, about half are just trackers and ad services. The insane overhead that HTTP brings with it gets grown massively by having to make all these connections to all the sites. It gets even worse, when scripts pull from various sources as blocking calls. If this this page came from one site it would be much faster. As far as tab content goes, I don't have any issues using Pale Moon. What bites is when having pinned tabs or default pages in place. Upon browser start those are loaded up into memory and depending on how the site set the expiration on content new files are pulled rather than using files from local cache. Comparing with opening an image from disk is not apples to apples. The image is already in a displayable format while HTML/CSS/JS first have to be interpreted and then rendered. There is a heck of a lot more to do there.
Because this is what happens when everyone repeatedly proritizes offloading more and more shit onto the CPU (e.g. languages that get parsed at runtime and requiring stuff like garbage collectors, inherently wasteful/inefficient protocols like XML, integrating massive toolsets and APIs rather than writing efficient code) all in the name of developer convenience, and to allow them to continue to get away with sloppy programming practices instead of being rigorous and addressing the root cause of the problem. i.e. themselves.
Given that, what do you expect will happen?
Surely it is faster to block an ad than it is to load it and render it.
This question has been in my head for ages.
Browsers are shamelessly slow in action that indeed, should not take more than milliseconds at best. And that is even with clean installs.
No idea what amateurs program that stuff, but they have a distorted focus. A focus that directly leads to a deeply userunfriendly experience.
Cache hits for subsequent HTML documents retrieved from one site are fine if the user actually views multiple documents on the same site. But someone who reaches a site through a search engine, such as DuckDuckGo or Google, or through a news aggregator, such as SoylentNews or Slashdot, is likely to connect, retrieve one document, and continue to a different document on a different site. A cache per site doesn't help with this use case; a cache shared among several sites does.
"No single addon does" and "addons can't" are two different statements. Also, you're now officially an OCD freak with a pitiful life not to be envied. Most people decide to do something useful with your life and you spend your life taking diligent notes on who said what on /.? You poor, wretched child...
Ezekiel 23:20
It's the whole damn computer. The thing should be ready to run when you turn it on, like a light bulb, not like an old TV waiting to warm up the tubes. Having to read software in and out of RAM is the dumbest thing there is. It should already be there, in ROM, waiting for power.
“He’s not deformed, he’s just drunk!”
The addons mentioned modify the hosts file... Yes, an addon is capable of building a hosts file.
Again, addons can modify the hosts file too, making this point irrelevant if you want to talk about addons being able to touch hosts files.
Yes.
And yet, I have identified numerous areas where hosts files are in comparison, highly inefficient and wasteful.
Agent Smith (Kowalski), there is no way around it, you have lost. No amount of dossiers will save you now.
Change is certain; progress is not obligatory.
try running a ad blocker and not having ads or 3rd party trackers. it doubles the page load speed.
I simply don't see why my expansive life needs to be filtered through your tiny mind. In my household, we bought the smallest pickup truck we could find, and then equipped my office desk with all the monitors that would fit (one landscape, two portrait). Priorities.
Someone down the street has an F450 with duallies, and probably a single HD monitor. Wouldn't you just love to knock on his door and tell him his beloved truck is not a standard use case. Go ahead, I dare you.
I'm running a file system on my desktop where I could easily expand the pool (modulo slightly better hardware) to a petabyte and beyond. Meanwhile, a GeForce GP106-300 packs a bandwidth of 192 GB/s at an MSRP of $199 because someone out there thinks this is definitely a standard use case. Sweet. Maybe the same guy out there who sniffs over his friend's video card with a mere 100 GT/s fill rate, gets on the internet later that day and starts writing "who the heck needs a hundred web tabs?"
Pretty rich.
I completely fail to see how 100 open tabs is anything special. Maybe I'm wrong. Let's see where else we can drawn a consensus line. Well, who the heck needs a clip with more than nine bullets? Or a woodshop with more than four electrical outlets. Or a kitchen with two ovens? Or more than four hobs? Or a house with bookshelves in more than one room? Or three bathrooms? Or a garage with more than three bicycles? Or more than two pairs of skates? Or four dogs?
Worst of all, if the computer is limiting the human because we assume puny human. That wasn't the original deal and I will never accept it. Turns out some use cases are not standard, because they are better than standard. Because every human of note better than "standard" at some thing.
It is not the i5 that is slow, it is the amount of work it is being asked to do. If you took a webpage, stripped out all javascript and media (besides small-medium images), it would load instantaneously. If you used only basic javascript, again it would be instantaneous. If, however, every tab as to manage the mass of css, javascript and DOM modifications that modern pages like to do, then suddenly you browser has a helluva lot of work to do. Too many developers just stack 10+ frameworks on top of each other to get their desired appearance, and then care little that the result is unusably slow. Some pages include various libraries supplied by advertisers in order to serve ads. Stuff like that.
If a webpage contained only the kind of stuff they did in the early 90s, before animated gifs and table layout started happening, they would be pretty much instantaneous on any modern browser. But instead each page is like a mini-OS having to boot up.
John_Chalisque
If you want to serve your own copy of a script, I have absolutely no problem with it. But search engines might, as they rank slowly loading documents lower, and they weigh commonly cached scripts served from CDNs as less of a contributor to slowness.
Debian shipped Iceweasel, a rebranded version of Firefox, starting in 2006. At the time, the Firefox logo was licensed under terms that conflicted with the Debian Free Software Guidelines, and Mozilla demanded prior approval of any patches that Debian applied, such as patches to support additional instruction sets. But in February 2016, Mozilla realized that the Debian project hadn't been doing anything that would tarnish the Firefox brand, and so Mozilla allowed Debian to use Firefox's branding.
A single addon can do this, yes.
Generally they all end up calling write() in the end.
Sure it can, it can force the load order and override loading.
Have to -- KEK! You're not really that knowledgable on how to access hosts files, are you?
Off the top of my head, I can think of many alternatives, such as you could change the permission on the file, you could use a helper, you could setup security context overrides for the modifying executable and the file, fusefs binds etc.
You've lost, Agent Smith (Kowalski).
Change is certain; progress is not obligatory.
Adding certificate-revocation lookups compounds the problem and adds even more time.
There is a bit of overhead in TLS, but OCSP lookups don't have to be much of it. Every 24 hours or so, an HTTPS server can ask the CA to sign a message stating that its certificate hasn't been revoked. Then the server can include this message signed by the CA in the TLS handshake. This is called TLS Certificate Status Request, or "stapling" for short.
Looks like someone doesn't know how to change a security context, KEK!
So you acknowledge there is more than one way to do it, you have lost!
It's too late Agent Smith (Kowalski), you have already lost. You admitted it!
Change is certain; progress is not obligatory.
No, it turns off your monitor. All that's left is to listen to the ads. That's courage, my friend.
I've fallen off your lawn, and I can't get up.
Thanks for the info and the time you took to post, but what language is that?
Browsers have been getting too demanding of RAM causing machines with 4GB limits to put pressure on their memory. The older firefox versions have done better in my experience on these older systems because it will not waste RAM. I'm not just picking on firefox which now does the best with memory; these browsers trying to increase performance are eating gigs of RAM and their memory load on the system is causing slow down on lower RAM systems. A whole process per tab makes the 100s of tabs I'm used to managing a nightmare on Chrome etc. Firefox appears to slowly approaching this better... but we'll see. I don't know why somebody hasn't tried a Flyweight kind of design pattern... it's like they made a word processor and put every character into it's own full blown object!
Heavy use of closures in javascript there are a lot of memory leaks going on; due to a flaw in the language which needs to be better addressed. (I'm not saying it's the biggest problem - I'd put that on the websites stacking and depending upon slow frameworks like jQuery... which should be put out to pasture BTW.)
I just remember when my whole system only had 48k of RAM or multimedia apps like hypercard which did a lot with so little... So now I have a browser storing an uncompressed image of the tab so it can refresh quickly except when it pushes the system too far and ends up slower than a re-render would cost. They really should check system RAM and set up a soft boundary on usage. Just because VM systems are so great doesn't mean that we should act like RAM is unlimited.
Democracy Now! - uncensored, anti-establishment news
Linux version?
Linux version?
Does not work under wine.
Creimer likes to tell lies & libel me saying I just got out of jail (I am not nor was I)
Not that anyone cares.
Webpages and browsers are slow because they are free, simple as that. Ads and analytics are the only things that make money, so every page loads tons.
If every page cost a cent, publisher would optimize a heck out of them to make you see 5% more in a typical news reading session. If you bought browsers, creators would feel pressured to justify a purchase. Simple as that.
We got stuck in a local maximum by prioritizing free over still extremely affordable and much better quality.
Don't speak for us all and I'm sure others will like knowing you're reprehensible.
I'm reprehensible because I troll the trolls? Yes, I'm that evil.
Firefox, 64bit nightly user here.
It's still atrociously slow, atrociously. Infact there's a either a bug with one of my plugins or something but I've deliberately endured it for nearly 8 weeks, hoping my feedback data is going in the bloody logs somewhere to help.
I run about 6 or 7 plugins which are all fairly common and I have run the same ones for 3 to 5 years. They worked fine on my last profile rebuild but this most recent one was broken /out of the gate/
It's so bad i'm using chrome primarily. Firefox performance frustrates me absoloutely no end and I've been running e10s, 64bit nightlys now for over 6 months.
Infact, except for the last 4 weeks, the ironic (?) / odd thing is, nightly has been RIDICULOUSLY stable for a piece of nightly code. It's just plain stable. It's just slow as heck.
I don't know what idiot legacy code is in Firefox but they seriously need a scrum or party or a bonus or something and the whole fucking team *STOPS* for 3 weeks solid and focuses on NOTHING but performance, performance, performance.
If you check my slashdot post history, I've been whining about Firefox performance for over 3 years.
It's ridiculous, stop adding features, just stop. Make the damn thing fast. Because Chrome destroys firefox and I'm now running a HEAP of Chrome addons (which I never knew existed) to replicate my Firefox functionality and I'm very, very close to full replication now (Firefox: Tab Mix Plus is bloody hard to replicate, requires multiple poor addons to be configured right)
Seriously, just stop whatever is going on Mozilla devs and bring in "The Carmack" or the equivalent at coding. Scrap something old, I don't care but something is fundamentally wrong when a 24GB memory, quad core machine can run so poorly with a browser.
Linux version of your program...
I don't have a Windows computer to run it on.
"& yes, I can port my program to Linux (FreeBSD/Lazarus) easily"
If Delphi makes it so easy, please do it. Until then...
Remember most of us here don't use Windows.
Cheers
If I'm in the unemployment line, this country will be unlivable.
To me it is quite obvious: HTML/CSS/JS is a convoluted historically grown mess. It is an open, widely used mess, which makes it attractive as a platform, but it's a mess none-the-less. I guess that comes with the nature of its success, because the web and its stakeholders adopted at every corner.
The web is way far of from where it began, and this shows everywhere in its technology stack.
Imagine a cleanroom design of a protocols and services and markup and logic to serve up what we are used to and expect today, with some neat features added in, such as encryption, default compression, binary logic and namecoin or some other distributed naming service. Add in native vector GFX technology and multimedia stuff and you have yourself an awesome fast platform.
But as a developer, I know this won't happen and wouldn't be practical. Once it would be finished, the world would have moved on to some other stuff and the new implementation would be a huge monolithic unmaintainable unextendable block.
I suspect once modern HTML/CSS and native gfx rendering have reached widespread use, the browsers will start to optimise and things will fall into place. We see this happening in chrome and safari and we see niche browsers like opera, brave and vivaldi speeding up things by simply filtering out the junk.
We suffer more in our imagination than in reality. - Seneca
And yet in some use cases that's the desired behavior.
That doesn't mean you design the family sedan to rev to 16000rpm like an F1 car and actually use it that way. Someone opening 100+ tabs is a clear corner case. Very few people do this and it's pretty easy to argue that it isn't a work flow common enough to worry about supporting even if we ignore the fact that it's clearly kind of a bonkers way of working.
Because you don't use your tools the way others do doesn't mean that either case is wrong. It means that some tools are poorly designed for some use cases.
Actually it very much can mean that one of the use cases is an improper use of the technology. To use another car analogy, you don't keep your car at redline driving around town. Yes you CAN do it but that doesn't make it a good idea. Running a browser with hundreds of tabs open is similar. It's an inefficient work flow than very few people use and most people would find actually rather difficult to manage. Browsers aren't designed to manage hundreds of tabs. If you want to use it that way it is your choice but that doesn't mean the rest of us are under any obligation to think that it is a good or sensible choice.
I design machines with (tens of) thousands of individual electrical parts. When you have to be sure that this will fit that, and that will fit this other thing, that has to be compatible with something else that needs to fit yet another thing...
I'm an engineer too. I design assembly lines and wire harnesses for a living, some with considerable complexity. My day job is running a company that manufactures wire harnesses so I work in pretty much the same field. Some of our more complex products have many hundreds to thousands of components.
How would anyone ever properly invent such an animal without hundreds of tabs open?
Seriously? We've been making products that complicated without hundreds of tabs literally for centuries. I very much doubt you can show me a use case where you actually need to have hundreds of tabs open and are making effective use of them for engineering. I've designed products and assembly lines of comparable complexity to what you are talking about. I've worked in the auto industry for a few decades and a typical car has around 30,000 parts. I can assure you that most cars are designed without a browser open with hundreds of tabs. My father was an engineer for the phone company and he designed networks of cabling of huge complexity. For most of his career he didn't even have a computer to work with. I work with a very similar set of data for every product I deal with as you and I think your argument is bonkers. It sounds to me like you just haven't figured out an efficient work flow.
OOP and fragmented code
Why? Chrome was waiting for cache... This issue has been around for forever and has never been fixed. Before you comment, I completely wiped my computer 2 weeks ago and have minimal apps installed. Chrome is running on an SSD drive and my computer is only a couple of years old. So why in the blazes would it take 3 minutes for chrome to wait for it's cache? I agree with the rest of the sentiments though.. Too many ads, too many scripts, too many videos on sites these days.. Now I have to have an ad blocker and and anti-adblocker blocker to add to the overhead.
I like how you ignored my suggestion of a "helper", which doesn't remove security. But that's APK for you, always ignoring inconvient truths!
You have failed Agent Smith (Kowalski)!
Change is certain; progress is not obligatory.
u admit ura 'troll'
I admitted that I love trolling the trolls (that would be you) to keep myself amused while waiting for a script to finish at work. Thank you for your participation!
Browser tabs or the URL where the padlock goes could indicate a poor quality web page. Browsers would then be helping improve compliance as their users see that something is wrong with the website they are visiting. It would create bad impressions which would motivate management.... this would greatly annoy web developers as debatable techniques differ between browsers and trying to explain to their boss 1 work around backward compatible hack for IE is causing all the modern browsers to flag the site's quality.
Perhaps the price is worth it? It would be nice to quickly see when quirks mode is on.
Democracy Now! - uncensored, anti-establishment news
Increased use of HTTPS probably due to google saying they'd prioritize encrypted websites has made my local proxy server useless. The top sites in the proxy cache are all now https so they no longer get cached. Nobody wants to be partially encrypted so images are https too.... we should have some way to not scare users with safe content that is not encrypted... I'm going to go test and see if the browser cache is smart enough to migrate cached content from http to https URLS...
I just pulled up my netscape in a VM and loaded a simple large page. It was hardly slower than IE 8 in the same VM. The complex page broke but netscape beat IE 8 (probably in minor ways IE 8 broke some stuff on the page too.)
Democracy Now! - uncensored, anti-establishment news
The real problem is that the browser's interface freezes up based on the content of the page. This is a design failure. If we lived in happyland where these programs were designed for the user, the tabs would have preemptable time slices and a processor butget. The user interface should never freeze. A back page should drop the processing of any scripts and closing a tab should free the memory of the tab without additional processor time juggling the content. Misbehaving pages would just go the way of the Dodo.
P.S.=> You disgusting fuck - you had better HOPE I never get ahold of you in the real world... apk
This is Slashdot. You must be new around here.
Big commercial Web sites are not built using waterfall development; they have a very short shelf life; and are driven by marketing, not I.T. The visual presentation is more important than the internal elegance. They are built assembly line style where one person does the creative, another person slices the creative into HTML/CSS/JS, another person marries the HTML/CSS/JS to a framework, or CMS system, and another person manages the copy and SEO tagging.
The creative directors are in charge, not the developers. The marketing folks are in the drivers seat, not the engineers. Marketing cares about cost per conversion and cost per acquisition. In this world the A/B test that picks the color of the submit button is much more important than how the form submit actually works.
Web Sites only have to be good enough to work, as most will be redone in less than two years. That beautiful website written in Yii with Smarty Templates can't be easily upgraded to the latest PHP, so you throw it out and rewrite in Laravel. Those HTML3 tables that achieved responsive design through specifying dimensional attributes as percentages in tables has to be thrown out for bootstrap responsive/adaptive, because analytics determined you could get a higher conversion rate serving different content/navigation to each of the three snap points.
One either accepts this new reality, or goes back to I.T. to work on old legacy batch mode payroll systems and other such boring crap. Learn how to speak marketing's language, and live in the perpetual firefighting mode that is marketing, or consider a career change.
I spent the first half of my career in traditional I.T., saw the writing on the wall, and joined the dark side of digital interactive. You get used to it, and come to the realization that it only has to be good enough to work, and not any better.
Browsers are the new operating system, and yes, they suck beyond sucking. The whole ecosystem is horrible compared to the elegant world that I.T. created in the pre-web days. But I.T. lost the drivers seat, because it couldn't move at marketing speed. The engineers lost. Sorry!
Murphy was an optimist
IF I ever got ahold of you in the REAL world I'd like to see you say lies about me face to face - We'd see "what's-what" then you lying little scumbag...
Bring five more guys with you, and a stepladder, to make it fair fight.
P.S., Bonus if you can name the two movies I made reference to.
Javascript is single-threaded by design, and hitting a script tag stops all partially-completed layout and rendering until the script has been parsed, compiled and run. Hopefully things will get faster once a big chunk of the web has been rewritten in a language that compiles to WebAssembly -- but this will take at least a decade or more.
If you're using AdBlock Plus, every single page load will block until AdBlock Plus has finished running expensive regexps against the DOM. (That said, the browser really is bloated and slow, but invasive extensions like ad blockers will slow down the entire experience.) Just disabling AdBlock Plus won't necessarily speed up the browser though, because ad bloatware may slow down the browser even more than AdBlock Plus. Instead, try uBlock Origin -- it is much, much faster than AdBlock Plus, and supports all the AdBlock Plus blacklists. Your web experience will fly again.
So answer the question in my subject AmicusNYCL
Why? I've answered that question every single time you've asked it, so why would it make a difference if I answered it yet again? You're still going to ignore it.
& you're still either unemployed OR a wageslave making peanuts
Yeah, you know so much about me, don't you? Keep making claims that you can't back up, because it really makes it seem like you know what you're talking about. I earn a 6 figure salary with benefits, I don't need to talk about being paid $100 for a forum post like it's some major achievement in my life. $100 won't even buy an hour of work from me.
I've also got commercially sold code to my credit
Oh wooooooow. What an achievement, APK. My software is going into nearly 100 departments in a state (every department), but man you've got "commercially sold code"? That's so much better than having every single employee of the state using my software. That's the latest news, stay tuned over the next several months to hear about other major contracts if you'd like to. They happen often, I don't have to go back to 2008 in order to find something to be proud of.
Clue: I don't have to work for ANYONE anymore
And you've decided to take all of this financial freedom and free time, and use it to spam Slashdot? That's as high as you aim? C'mon man, I'm sure you can find something better to do with your millions than professionally annoy people.
"Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
You seriously think that $100/hr isn't realistic for custom development? That's sad, APK. If you call up my company and ask for custom development quotes or mods for our application, you're going to get quoted at over $100/hr. There's some overhead for testing and project management, but that's my time you're paying for. The fact that you seem to think that's unrealistic is a sad statement about you. Even when I was working for myself I would quote projects at $100/hr. It's really not that big of a deal, but I guess that's why you're reaching back to $100 forum payments in 2008 to scrape the barrel for your own achievements.
And, what's with you and the phrase "in computing"? Why do you always say that? Are you trying to suggest that if I'm writing software to actually help people do their job, instead of little cheesy text-file management utilities that a first-year CS student would be happy with in order to help people use a computer, then somehow my contribution is less than yours? Otherwise, why do you always qualify your lame statements of perceived superiority with "in computing"? I help people do their jobs, man. I'm not here to help you manage a text file or defrag a hard drive like it's 1998, I'm actually helping people make their own money. Weird that I get paid a lot to do that, isn't it?
"Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
Why so angry, APK? Are you still butthurt from last August when I tore apart all of your worthless "achievements"?
coming in days later thinking I wouldn't catch your LYING bitch ass?
You self-important twat, I was out of town for the holidays and believe it or not, I don't spent my off time thinking about you.
But look at you, you sure found my message and showed up to shit all over the site again, didn't you? You're still stalking everyone like some weird pervy creeper old guy hanging around a high school trying to talk to the girls. Sorry you've got nothing better to do than try to wave around your micro-peen and assert your imagined dominance, but you don't need to be angry at me about it. That's a "you" issue, not a "me" issue. It's not my problem that I state matter-of-fact things which happen every day and you think they're so unbelievable. Nothing I'm saying is even remotely unbelievable, and it's sad that you think it is. You're a sad, angry guy APK.
"Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
how come you can't BIG talker?
I'd like to test a theory, I hope you'll indulge me.
Every time I've answered that question, I've answered it exactly the same way.
So, to test my theory: do you know what my answer is and always has been? You're either ignorant or stupid, and I'm betting on one of those. So, what has always been my answer to that question, APK?
many 1,000's use it & even dozens of /.'ers like & use it
Wow. That's impressive. No, seriously, "many 1,000's". It's so impressive that you don't even bother to spell out "thousands". That's serious business. How do you know that's the case, though? Do you track your users, does your software phone home? How do you know that "many 1,000's" use it, exactly? Are you tracking your users? Or are you not tracking them, and you're just pulling that number straight out of your ass? Which one is it? You're tracking your users, aren't you?
In the meantime, "many 1,000,000's" use my software to actually help them do their jobs instead of manage a single text file on their computer. But, hey man, I don't want you to feel insecure or anything, so good job on getting that $100 8 years ago.
since you're ALLEGEDLY still working you CAN'T be doing all that well being a wageslave (I'm not & haven't had to be one in a decade++).
I'll tell you what, APK. Since I'm 37 and have been making a 6 figure salary for years, let's check back in 15 years when I'll be as old as you are now, and let's compare bank accounts and personal achievements. Stay tuned for whether or not I decide to pull out an 8 year old $100 award and wave that around like it's a big deal.
As to your 'skills'? LOL - your crusade to stop me posting didn't even work out too well, now did it?
Are you trying to equate programming ability with stopping your spam? I never tried to get you to stop posting. Only to get you to stop spamming. I note that now you link to search engine results pages for a search of your software. You've changed your behavior and it's been considerably less annoying over the past several months. I'll call that a win.
My guess, that IF you're a 'coder', you're just another 'webdouche'
Who cares about your guesses? You guess everything under the sun, and the vast majority of things are wrong. You've proven that over and over. Your word is not worth any more than your text file management utility. You work so hard to try and call me a blowhard, why do you think that is, Prof. Freud? You're the one trying so hard to prove various assertions, make yourself seem superior, and make baseless guesses without the first shred of evidence. You do that because of how insecure you are about yourself. It's sad. It's pathetic. So are you. Have a great rest of the year.
"Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
Then use a helper.
Change is certain; progress is not obligatory.
Sure you can, using a helper.
Silly Agent Smith (Kowalski).
Change is certain; progress is not obligatory.
If you make a claim in a public forum, and another user presents problems with the facts underlying your claim, I agree that you owe readers nothing. Nor do readers owe you recognition that you have adequately proved your claim.
I agree with your point that in a high-latency environment, the overhead of a HEAD request makes the cache somewhat less useful. But if a resource has an explicit Expires date, the browser can skip the HEAD request.
And I disagree with antivirus taking 1000 ms to scan every single file. I use MSE on a Windows 7 PC and its successor Windows Defender on a Windows 10 PC, and real-time scans have never taken that long.
So here's a what-if scenario with a slightly modified set of assumptions:
1. A 100 kB resource takes more time to transfer than a 50 kB resource.
2. A lighter weight antivirus takes 100 ms to check a resource instead of 1000 ms.
3. The browser stores a list of all currently cached resources from each origin.
4. The server is serving Expires: headers on resources intended to be cached.
Thus the cradle to grave times for the five situations you mention change as follows:
1. Resource embedded in document
connect: 125 ms
load that origin's list of cached resources from disk: 0 ms (parallel)
download and parse HTML document including one resource: 1500 s
total: 1625 ms
2. Resource on same origin
connect and load cache list: 125 ms
download and parse HTML document: 1000 ms
keep alive: 0 ms
download one resource: 1000 ms
total: 2125 ms
3. Resource on same origin, cached with Expires:
connect and load cache list: 125 ms
download and parse HTML document: 1000 ms
determine that the resource has not expired: <1 ms
seek to resource on disk: 15 ms
load resource from cache: 100 ms
total: 1240 ms
4. Resource on different origin
connect and load cache list: 125 ms
download and parse HTML document: 1000 ms
connect to other origin and load cache list: 125 ms
download one resource: 1000 ms
total: 2250 ms
5. Resource on different origin, cached with Expires:
connect and load cache list: 125 ms
download and parse HTML document: 1000 ms
load other origin's cache list without connecting: 100 ms
determine that the resource has not expired: <1 ms
seek to resource on disk: 15 ms
load resource from cache: 100 ms
total: 1340 ms
Though each hit in scenario 4 and 5 takes longer than scenarios 2 and 3, the idea of putting common script libraries on a shared CDN is that clients will hit scenario 5 in many situations where they would have otherwise hit scenario 2. This is especially true of users who arrive at a site through an inbound link, such as from web search, social media, or an aggregator such as Slashdot, and view only one page, rather than following links from other documents in the same origin.
Perhaps I should write a program to do more thorough benchmarks of fopen() to see exactly what impact Windows Defender has.
I really don't care about what other goal posts you try to create. You said addons couldn't do it and I told you what alternate methods you could use. You have lost this one, Agent Smith.
Change is certain; progress is not obligatory.
After you moved the goal posts by crying about asking for alternatives to making it administrator, of which I provided numerous. Including changing the security context, which you keep ignoring because you think it's file permissions, like a dumbass.
You have lost, Agent Smith.
Change is certain; progress is not obligatory.
Sure they can, they can request a security context from the operating system (it's addressable via WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING), they can use a helper, they can even in your favourite scenario, relaunch the browser requesting administrative rights - which is not unlike what your application requires to run properly.
You have lost Agent Smith.
Change is certain; progress is not obligatory.
In the context of applications that run on graphical computing devices and communicate through the Internet, I must respectfully disagree with your dismissal of "the economic or sociological aspects of the problem." If one considers only technical metrics, such as runtime and memory efficiency, an assembly language program can theoretically beat a C++ "native compiled desktop application" because practical compilers miss some opportunities for optimization. For example, my assembly code for the 8-bit 6502 processor routinely outperforms the output of the most popular C compiler for that processor.
It's just that assembly language doesn't see a lot of use for mass-market applications because end users demand rapid iteration of features and compatibility with existing hardware more than runtime and memory efficiency. The widespread use of C++ rather than assembly language for native application is thus caused by "economic or sociological aspects". And when rapid iteration and compatibility pressures are even more intense, said aspects drive developers to cross-platform compromises, such as the Java virtual machine, the Common Language Runtime, and the JavaScript virtual machine.
I've never avoided the question, you just ignore my answer. You're avoiding me, though:
So, to test my theory: do you know what my answer is and always has been? You're either ignorant or stupid
The answer is apparently both. I wasn't expecting that, I thought you were just ignorant.
I am, and will remain, anonymous because I have always meant this account to be anonymous. I have said things under the cover of anonymity which I did not intend to be traced to me personally, in fact that's probably the biggest benefit of anonymity. I'm not going to throw away that protection just for your little pissing contest. I don't have any other accounts here, this is the account where I have posted 100% of my posts. Many of those included information that I do not want to be traced to me, so therefore you're going to have to keep pissing and acting like you're winning some contest. I CAN prove anything I want to you, but I WON'T prove anything. My anonymity is more valuable to me than any stupid contest with you. And it always will be. But, why stop now APK? Go ahead and continue to prove that you are both ignorant as well as stupid and try to get me to prove who I am again, like I ever will. If I would have engaged with you using a different account than my own, then I would have no problem telling you who I am. I don't want various things that I've said to be identified with me though, so that's not going to happen.
your name on it + SOLELY YOUR WORK too!
Oh, really? You mean you don't want me to list an "achievement" where I suggested a few Win32 API calls to someone else's project, but they ended up rejecting my suggestions? Or if I make some efficiency improvements to someone else's project, which then almost wins an award but doesn't, I shouldn't list that either? Because it's not solely my own work, right?
As for all of your other shit, it's ridiculous that you don't think I earn what I earn. Literally ridiculous, as in worthy of ridicule. You are worthy of ridicule. If I showed you what my house or car looked like, you would probably also not believe they're mine. Face it man, I have an education in computer science and I've used it to bring in a steady 6-figure income with full benefits by my mid 30s. I've been contributing to a 401k since my early 20s, you want to guess where that is now? I wrote the software which literally runs the company that I work for (and that was as an intern for them 14 years ago, but it's still running the company today). After the original programmer left I redesigned and rewrote the core customer-facing application from scratch, by myself, and worked on it by myself for at least 3 or 4 years before I got another programmer to help me (this is a completely separate application from the one running the company; this is the one we sell). At this point, as the CTO, that situation is better but my stamp is still on that application and I still work on it, I just have a team to help me now. And there you are approaching your mid 50s, not believing that anything that I have actually done is possible, crowing about all of these stupid little achievements like suggesting Win32 API calls and earning $100 for a forum post like you're some big shot. It's ridiculous. Worthy of ridicule. You are ridiculous. Stop being ridiculous. It's gotten very old and tiresome. I'm sorry if you're not happy with your life, but that isn't going to change by claiming that all of these little stupid things are somehow major meaningful accomplishments. Focus on doing things that will actually make you happy instead of trying to pull up some bullshit list of stupid crap and act like it's made of gold. Make yourself happy, man. I have, that's why I decided to get a degree in computer science and then program for a living, I knew that would make me happy because of how much I enjoyed it and how much it was worth. You apparently once played lacrosse, which is great and all, but don't sit there and act like I can't have possibly done all of the things that I have in fact done. My anonymity on this site is worth too much for the ridiculous likes of you and your insatiable egotistical greed for self-congratulation.
"Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black