How can the StackExchange websites have a better user experience (cookie banner and new user information banner)?

Long ago, I remember reading either Joel Spolsky’s or Jeff Atwood’s blog post (can’t find it now) about how StackOverflow was founded as a way for people to find answers to questions easily. This was compared to other forums that had long discussions, distracting signature images etc, which cluttered the screen and led to poor user experience.

Until recently, the StackExchange websites have been an impressive demonstration of the clean and user-friendly method of information disbursement and community participation. Everytime I did a Google search for something, the StackExchange websites were my first choice.

Recently however, StackExchange websites have had a few gradual additions that appear to have worsened the user experience. They are:

  1. The information banner for newcomers which takes up a lot of space and forces us to scroll down or click on the close button of the banner.
    enter image description here

  2. The large cookie banner which requires one click and a pause and then another click to be dismissed for privacy-conscious users. Moreover, it’s shown repeatedly for every tab that’s opened, making it even more annoying.
    enter image description here
    enter image description here

About cookie policies, this is what I found out from a source: “Please note that the GDPR does not require the information that must be delivered to a site visitor to be presented in a pop-up. Contact the website administrator if you are not satisfied with their design choices. Please also find the Commission websites cookie policy here. Cookie guidelines for EU institutions“.

User experience’s expressed about StackExchange’s cookie banner here, here, here and here. Research about the efficacy of acceptance of such banner’s Accept buttons here.

What would be a better way to welcome and inform new users without putting a massive banner that takes up space?
What would be a better way of getting a one-time consent for people, perhaps based on IP address or user login, for the cookies? Perhaps the StackExchange team needs to enable those performance, functional and targeting cookies for whatever reason? Understandable, for monetizing a site (if it is the case). But if it’s going to ruin user experience, then that’d just make the site un-appealing, driving traffic away from it (as in my case, I’ve already started choosing other sites for information when Googling). Surely, the user experience for cookie choices can be made better, and can serve the original purpose of StackExchange being a welcoming, user-experience-friendly place. What design changes would you suggest as a remedy?

I will provide guest posting on sports n entertainment websites for $50

I will provide guest posting on sports n entertainment websites

If you have an Entertainment / Sports Niche and you want to rank your site on google so I AM here for ranking your site up on google with incredible English Sites for Guest Posting

we have the best and real Blog to boost your rankings in the Sports / Entertainment niche.

All of the sites are news sites and also approved by google and I AM sure it will help you to rank your site

Site Metrics of Canadian Guest Posting Website.

  • DA – 32, PA – 22, RD – 174 (Solid Link Juice Flow) (High DA Guest Posting)
  • DR – 15, UR – 25
  • CF – 27, TF 14
  • Organic Keywords – 4700
  • Organic Traffic – 1100 (As Per Ahrefs Stats)
  • High Traffic Value

Prior to purchasing from any Guest Posting, Please ensure that you know the distinction between a PBN site and Guest Posting, If you don’t have the foggiest idea of how to do that, I will help you. With Simple appraisal, you can discover it out.

We Don’t Accept Adult Niche.

We own every one of the sites, we are totally liable for your articles and We are not affiliates.

Contact me Before Placing an order.


I will be your virtual assistant websites hiring secretary for $80

I will be your virtual assistant websites hiring secretary

About This Gig

I can manage my time for you work just inform me to my mail details instruction , i would do complete as much as possible during my time.

I can handle your

1..official Data entry

2. WordPress website setup

3.Any service online base,

4.Youtube Chanel setup and maintain

5.Google analytics code setup in website or blog

6.Upload video in youtube Chanel

7.Upload products e commerce site,

8.Maintain your website

9.Website domain setup and hosting integration php coding integration

11.database update

12. Create Facebook page and maintain,

many more as clients requirements .


How can I find all the websites I have been to on my Chrome browser?

I need to find all websites I have been to on my Chrome browser in order to find the websites whose names I’ve forgotten.

ios – Send a notification to my iPhone when a website’s content changes

I would like to be notified quickly (ideally within an hour) if a certain website (that is not under my control) changes. Any changes to the HTML should trigger a notification.

Since I am not always monitoring my email but I have my iPhone on me most of the day, I am probably looking to receive a push notification or SMS message once that happens.

Any recommendations for an app or service that can help me with that? I am willing to pay for it.

Hetzner is not appropriate for big and social network websites, as they said


I have a social network website with over 100 milion clients (not now but in about 4-5 months) …
I want to buy a SX server from He… | Read the rest of

VPS hosting is best for multiple websites.

Hi Friend,

In VPS hosting how many websites we can host in it…. | Read the rest of

web application – Malicious looking mirrors resembling trademarked websites? Phishing?

I honestly have no idea what this is.

Reddit has a growing number of users posting far-right misinformation constantly. Googling their usernames shows a whole list of results, many of which don’t belong to reddit, but seem like mirrors.

Hull City Tigers are a football club based in Hull. This is their actual website.

This is the mirror showing a reddit comment on google search.

The site itself only has one script called hookgeo(), no other content.

(function(){function hookGeo() {
  const WAIT_TIME = 100;
  const hookedObj = {
    getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation),
    watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation),
    fakeGeo: true,
    genLat: 38.883333,
    genLon: -77.000

  function waitGetCurrentPosition() {
    if ((typeof hookedObj.fakeGeo !== 'undefined')) {
      if (hookedObj.fakeGeo === true) {
          coords: {
            latitude: hookedObj.genLat,
            longitude: hookedObj.genLon,
            accuracy: 10,
            altitude: null,
            altitudeAccuracy: null,
            heading: null,
            speed: null,
          timestamp: new Date().getTime(),
      } else {
        hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options);
    } else {
      setTimeout(waitGetCurrentPosition, WAIT_TIME);

  function waitWatchPosition() {
    if ((typeof hookedObj.fakeGeo !== 'undefined')) {
      if (hookedObj.fakeGeo === true) {
        navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options);
        return Math.floor(Math.random() * 10000); // random id
      } else {
        hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options);
    } else {
      setTimeout(waitWatchPosition, WAIT_TIME);

  Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) {
    hookedObj.tmp_successCallback = successCallback;
    hookedObj.tmp_errorCallback = errorCallback;
    hookedObj.tmp_options = options;
  Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) {
    hookedObj.tmp2_successCallback = successCallback;
    hookedObj.tmp2_errorCallback = errorCallback;
    hookedObj.tmp2_options = options;

  const instantiate = (constructor, args) => {
    const bind = Function.bind;
    const unbind = bind.bind(bind);
    return new (unbind(constructor, null).apply(null, args));

  Blob = function (_Blob) {
    function secureBlob(...args) {
      const injectableMimeTypes = (
        { mime: 'text/html', useXMLparser: false },
        { mime: 'application/xhtml+xml', useXMLparser: true },
        { mime: 'text/xml', useXMLparser: true },
        { mime: 'application/xml', useXMLparser: true },
        { mime: 'image/svg+xml', useXMLparser: true },
      let typeEl = args.find(arg => (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type));

      if (typeof typeEl !== 'undefined' && (typeof args(0)(0) === 'string')) {
        const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType => mimeType.mime.toLowerCase() === typeEl.type.toLowerCase());
        if (mimeTypeIndex >= 0) {
          let mimeType = injectableMimeTypes(mimeTypeIndex);
          let injectedCode = `<script>(
          let parser = new DOMParser();
          let xmlDoc;
          if (mimeType.useXMLparser === true) {
            xmlDoc = parser.parseFromString(args(0).join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting
          } else {
            xmlDoc = parser.parseFromString(args(0)(0), mimeType.mime);

          if (xmlDoc.getElementsByTagName("parsererror").length === 0) { // if no errors were found while parsing...
            xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode);
            if (mimeType.useXMLparser === true) {
              args(0) = (new XMLSerializer().serializeToString(xmlDoc));
            } else {
              args(0)(0) = xmlDoc.documentElement.outerHTML;

      return instantiate(_Blob, args); // arguments?

    // Copy props and methods
    let propNames = Object.getOwnPropertyNames(_Blob);
    for (let i = 0; i < propNames.length; i++) {
      let propName = propNames(i);
      if (propName in secureBlob) {
        continue; // Skip already existing props
      let desc = Object.getOwnPropertyDescriptor(_Blob, propName);
      Object.defineProperty(secureBlob, propName, desc);

    secureBlob.prototype = _Blob.prototype;
    return secureBlob;

  window.addEventListener('message', function (event) {
    if (event.source !== window) {
    const message =;
    switch (message.method) {
      case 'updateLocation':
        if ((typeof === 'object') && (typeof === 'object')) {
          hookedObj.genLat =;
          hookedObj.genLon =;
          hookedObj.fakeGeo =;
  }, false);

There are so many of these. And they all have the same script, no content. They’re all behind cloudflare.

What is this exactly? What is this supposed to be doing, what does the script do?

Why color-wheel websites (Adobe…) claim these colors are complementary

I just learn about the different color harmony styles models, and I was playing with Adobe color wheel website using the complementary style, but I’m realizing that the proposed colors are not really on the other side of the Hue circle:

enter image description here

Here, you see that the blueish line has hue 174° and the brown color has hue 19°, and 174°-19°=155°, while I would expect their distance to be 180° since they are complementary. And if I ask to Krita, they are indeed not on opposite parts of the Hue circle:

enter image description here

enter image description here

So what’s wrong with Adobe color wheel? I also tried with, and the Paletton gives similar results compared to Adobe color. Are all color wheels crazy, or am I missing something? I also tried to check how footage was behaving, and they seem to agree with my definition, for instance this photo uses colors #27AB9E (Hue=174°) and #ff4473 (hue=344°), which are much more aligned, and we have 344-174 = 170° which is way closer to 180°.

enter image description here

enter image description here

magento2 – Magento 2, 2 websites, multiple docker containers-speed implications?

I currently have a powerful dedicated server hosting 2 websites, we are experiencing CPU overload & clashing on indexing & rewarming FPC, to solve this problem, I am considering breaking out each website into docker containers, with separate containers to handle mysql, cron & varnish…will this alleviate my CPU overload & clashing and will there be any significant reduction in speed on the production websites?
Thank you Bigfella59