Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. About that Github article on Cognitive Load?

About that Github article on Cognitive Load?

Scheduled Pinned Locked Moved The Lounge
questionhostingclouddevopssecurity
13 Posts 8 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Mike Breeden

    I'm looking for an article I saw but did not keep. Every developer should read it. If you happen to know a link to it, I'd appreciate it. I logged into Github after not being there for a while and for some reason it took me to an article in a repository by someone with a name starting with a 'Z'. I was thinking "what is this" and had some trouble getting to my home page, so I read it. I didn't really register it at the time, but it was amazing. It largely said that almost everything we've been told about programming best practices leads to excessive "cognitive load", meaning our minds are getting kicked by the intellectual demands. I've known this for a while, especially with the demands of cloud, security and DevOps. I also liked it because it described practices I have done for decades, but never much admit to because they are not popular... I write really complicated stuff and need all the help I can get. Consider, if I'm right, it popped up because the Github folks, very smart people, though that developers should see it. I agree.

    R Offline
    R Offline
    raddevus
    wrote on last edited by
    #3

    Oh, I searched Github for "cognitive load" and the first one with an author, zakirullin GitHub - zakirullin/cognitive-load: 🧠 Cognitive Load Developer's Handbook[^]

    Mircea NeacsuM M 2 Replies Last reply
    0
    • M Mike Breeden

      I'm looking for an article I saw but did not keep. Every developer should read it. If you happen to know a link to it, I'd appreciate it. I logged into Github after not being there for a while and for some reason it took me to an article in a repository by someone with a name starting with a 'Z'. I was thinking "what is this" and had some trouble getting to my home page, so I read it. I didn't really register it at the time, but it was amazing. It largely said that almost everything we've been told about programming best practices leads to excessive "cognitive load", meaning our minds are getting kicked by the intellectual demands. I've known this for a while, especially with the demands of cloud, security and DevOps. I also liked it because it described practices I have done for decades, but never much admit to because they are not popular... I write really complicated stuff and need all the help I can get. Consider, if I'm right, it popped up because the Github folks, very smart people, though that developers should see it. I agree.

      R Offline
      R Offline
      raddevus
      wrote on last edited by
      #4

      That github article makes a lot of sense about Cognitive Load. Here's the flaw in it related to developers: If you admit to having cognitive load while viewing some architectural phenomenon that most of the other team understands (because they use it every day) those developers will treat you as if you are dumb. "Well, I understand it. It all makes sense to me," says lead dev while looking around the group and other followers nod their little heads. So, unfortunately, no one says this stuff out loud. Long ago (2002), we had a dev contractor working on a component for a web site. He got a bit mixed up on understanding web session and how to handle it. Some others got involved and everyone was confused. They finally worked it out but it took them an extra week on a project running late already. At the Post-Mortem, Dev Manager said, "Well, we know there are things we don't know." "what don't we know," asked Dev contractor. "Well, like the issues with session. We need to know more about that." The dev contractor replied, "What don't we know about session? Ask me anything and I'll tell you the answer." :|

      J 1 Reply Last reply
      0
      • M Mike Breeden

        I'm looking for an article I saw but did not keep. Every developer should read it. If you happen to know a link to it, I'd appreciate it. I logged into Github after not being there for a while and for some reason it took me to an article in a repository by someone with a name starting with a 'Z'. I was thinking "what is this" and had some trouble getting to my home page, so I read it. I didn't really register it at the time, but it was amazing. It largely said that almost everything we've been told about programming best practices leads to excessive "cognitive load", meaning our minds are getting kicked by the intellectual demands. I've known this for a while, especially with the demands of cloud, security and DevOps. I also liked it because it described practices I have done for decades, but never much admit to because they are not popular... I write really complicated stuff and need all the help I can get. Consider, if I'm right, it popped up because the Github folks, very smart people, though that developers should see it. I agree.

        H Offline
        H Offline
        honey the codewitch
        wrote on last edited by
        #5

        I've never seen the article, but I have seen tools that purport to measure the "cognitive load" of functions. I don't put a lot of stock in them because that metric simply doesn't work for me. I have a neurological condition that leads to my short term memory being very unreliable. As such, I tend to use a very large screen (55" at 4k), make my functions longer, and see as much code on the screen at once as I can. Lots of little functions means I have to remember how to call them and it slows me down and introduces bugs. For me that's a much worse problem then being faced by a complicated function with a relatively simple calling footprint. So I tend to load my functions up with functionality. Why make 4 functions to do something when 1 will suffice? I usually split off functions mostly to avoid duplicating code. It's a Bad Practice(TM) that leads to functions with "high cognitive load" but it works around my particular disability, so those metrics be damned - they don't take my particular brain wiring into account.

        Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

        1 Reply Last reply
        0
        • R raddevus

          Oh, I searched Github for "cognitive load" and the first one with an author, zakirullin GitHub - zakirullin/cognitive-load: 🧠 Cognitive Load Developer's Handbook[^]

          Mircea NeacsuM Offline
          Mircea NeacsuM Offline
          Mircea Neacsu
          wrote on last edited by
          #6

          I read the article and, to me, seems like a long winded way to say "Everything should be made as simple as possible but not simpler" (an aphorism often attributed to Einstein). Each individual example can be ascribed to the "yes, but..." category: "Prefer composition over inheritance: yes, but...", "Too many small functions: yes, but...". Conclusion: I'm still not sold to any particular design philosophy. There are many tools out there, pick the one best fitted for your job.

          Mircea

          1 Reply Last reply
          0
          • R raddevus

            Oh, I searched Github for "cognitive load" and the first one with an author, zakirullin GitHub - zakirullin/cognitive-load: 🧠 Cognitive Load Developer's Handbook[^]

            M Offline
            M Offline
            Mike Breeden
            wrote on last edited by
            #7

            That's the one. Thanks a lot. The more I thought about it, the more I liked it. I did search on cognitive load and it didn't lead me to it.

            1 Reply Last reply
            0
            • M Mike Breeden

              I'm looking for an article I saw but did not keep. Every developer should read it. If you happen to know a link to it, I'd appreciate it. I logged into Github after not being there for a while and for some reason it took me to an article in a repository by someone with a name starting with a 'Z'. I was thinking "what is this" and had some trouble getting to my home page, so I read it. I didn't really register it at the time, but it was amazing. It largely said that almost everything we've been told about programming best practices leads to excessive "cognitive load", meaning our minds are getting kicked by the intellectual demands. I've known this for a while, especially with the demands of cloud, security and DevOps. I also liked it because it described practices I have done for decades, but never much admit to because they are not popular... I write really complicated stuff and need all the help I can get. Consider, if I'm right, it popped up because the Github folks, very smart people, though that developers should see it. I agree.

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #8

              Github _IS_A_ Cognitive Load, in my opinion. ;P

              1 Reply Last reply
              0
              • R raddevus

                That github article makes a lot of sense about Cognitive Load. Here's the flaw in it related to developers: If you admit to having cognitive load while viewing some architectural phenomenon that most of the other team understands (because they use it every day) those developers will treat you as if you are dumb. "Well, I understand it. It all makes sense to me," says lead dev while looking around the group and other followers nod their little heads. So, unfortunately, no one says this stuff out loud. Long ago (2002), we had a dev contractor working on a component for a web site. He got a bit mixed up on understanding web session and how to handle it. Some others got involved and everyone was confused. They finally worked it out but it took them an extra week on a project running late already. At the Post-Mortem, Dev Manager said, "Well, we know there are things we don't know." "what don't we know," asked Dev contractor. "Well, like the issues with session. We need to know more about that." The dev contractor replied, "What don't we know about session? Ask me anything and I'll tell you the answer." :|

                J Offline
                J Offline
                jschell
                wrote on last edited by
                #9

                raddevus wrote:

                So, unfortunately, no one says this stuff out loud.

                I do. Annoys the h*** out of people when I tell them it doesn't make any sense. At one company a contractor that one of the owners liked was brought in to solve problems. No idea what problems because I never saw anything he suggested (and company paid for) used. But in one meeting he presented a solution that would handle several million users logged into the system at once. I sat through most of that, then question why he decided we would need that problem solved - specifically where he came up with millions of users. He answered by claiming that that was outside of my need to know space. Fortunately one of the other owners was also in that meeting and he immediately piped up to state that he wanted to know that also. The Consultant kind of nervously looked around and side stepped by suggesting he would send it later. I never saw it. At some point I sized the application using existing business data. From that if the application owned the entire market it would never have more than about 3,000 users. And most of them would never be using it constantly.

                1 Reply Last reply
                0
                • M Mike Breeden

                  I'm looking for an article I saw but did not keep. Every developer should read it. If you happen to know a link to it, I'd appreciate it. I logged into Github after not being there for a while and for some reason it took me to an article in a repository by someone with a name starting with a 'Z'. I was thinking "what is this" and had some trouble getting to my home page, so I read it. I didn't really register it at the time, but it was amazing. It largely said that almost everything we've been told about programming best practices leads to excessive "cognitive load", meaning our minds are getting kicked by the intellectual demands. I've known this for a while, especially with the demands of cloud, security and DevOps. I also liked it because it described practices I have done for decades, but never much admit to because they are not popular... I write really complicated stuff and need all the help I can get. Consider, if I'm right, it popped up because the Github folks, very smart people, though that developers should see it. I agree.

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #10

                  I've managed to survive on work that I liked ... The longest I've been "forced" to learn something I didn't need was 1 week (Java, Swing, Struts, Eclipse, Net Beans, Apache, JBoss, etc.) ... then they came to their senses (.Net).

                  "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                  1 Reply Last reply
                  0
                  • M Mike Breeden

                    I'm looking for an article I saw but did not keep. Every developer should read it. If you happen to know a link to it, I'd appreciate it. I logged into Github after not being there for a while and for some reason it took me to an article in a repository by someone with a name starting with a 'Z'. I was thinking "what is this" and had some trouble getting to my home page, so I read it. I didn't really register it at the time, but it was amazing. It largely said that almost everything we've been told about programming best practices leads to excessive "cognitive load", meaning our minds are getting kicked by the intellectual demands. I've known this for a while, especially with the demands of cloud, security and DevOps. I also liked it because it described practices I have done for decades, but never much admit to because they are not popular... I write really complicated stuff and need all the help I can get. Consider, if I'm right, it popped up because the Github folks, very smart people, though that developers should see it. I agree.

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #11

                    The IT landscape is changing, and one specializes not in IT, but a specific field in programming. I do office-programming, but do not ask me to write a game - I've never touched XNA and the likes. You overload if you try to learn everything. 40 years ago, you'd be a hero if you did C instead of GWBasic. Now, there's a lot more landscape. The demands are non-existing outside of what your boss demands; and that might not be very realistic.

                    Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

                    1 Reply Last reply
                    0
                    • M Mike Breeden

                      I'm looking for an article I saw but did not keep. Every developer should read it. If you happen to know a link to it, I'd appreciate it. I logged into Github after not being there for a while and for some reason it took me to an article in a repository by someone with a name starting with a 'Z'. I was thinking "what is this" and had some trouble getting to my home page, so I read it. I didn't really register it at the time, but it was amazing. It largely said that almost everything we've been told about programming best practices leads to excessive "cognitive load", meaning our minds are getting kicked by the intellectual demands. I've known this for a while, especially with the demands of cloud, security and DevOps. I also liked it because it described practices I have done for decades, but never much admit to because they are not popular... I write really complicated stuff and need all the help I can get. Consider, if I'm right, it popped up because the Github folks, very smart people, though that developers should see it. I agree.

                      A Offline
                      A Offline
                      Andy Brummer
                      wrote on last edited by
                      #12

                      I worked on an ancient web app written in visual basic back in the day. It had one "page" that took two numeric parameters The first one represented the dll and the second the method on the object. Those mappings were done in a database lookup. All the methods took a single undocumented xml object as a parameter and stored all data in that one nested dictionary before doing other id lookups to load other components to build more of the tree. At one point I had 3 or 4 copies of visual basic running in debug mode to figure out how some nested component got the data needed. All of that eventually was passed to an xslt file to generate html. The architect that put that together was on another team, and shared his design with me before his team built it. I kept pointing out that it did nothing except make things more complicated, and totally lost my cool as he kept trying to explain the beauty of it to me. They built that system and a year later nobody was left on the team because it was so hard to work with. I eventually ended up tearing it down and migrating it to a much more basic design. When the only constraints to building software live in people's heads, they end up building based on whatever crazy assed ideas seem good to them at the time. That system was built out of cognitive load, and was the most ridiculous thing I ever worked on. I think it replaced a system with a few 6000 line functions of nothing but nested switch statements, but that was child's play in comparison.

                      Curvature of the Mind now with 3D

                      M 1 Reply Last reply
                      0
                      • A Andy Brummer

                        I worked on an ancient web app written in visual basic back in the day. It had one "page" that took two numeric parameters The first one represented the dll and the second the method on the object. Those mappings were done in a database lookup. All the methods took a single undocumented xml object as a parameter and stored all data in that one nested dictionary before doing other id lookups to load other components to build more of the tree. At one point I had 3 or 4 copies of visual basic running in debug mode to figure out how some nested component got the data needed. All of that eventually was passed to an xslt file to generate html. The architect that put that together was on another team, and shared his design with me before his team built it. I kept pointing out that it did nothing except make things more complicated, and totally lost my cool as he kept trying to explain the beauty of it to me. They built that system and a year later nobody was left on the team because it was so hard to work with. I eventually ended up tearing it down and migrating it to a much more basic design. When the only constraints to building software live in people's heads, they end up building based on whatever crazy assed ideas seem good to them at the time. That system was built out of cognitive load, and was the most ridiculous thing I ever worked on. I think it replaced a system with a few 6000 line functions of nothing but nested switch statements, but that was child's play in comparison.

                        Curvature of the Mind now with 3D

                        M Offline
                        M Offline
                        Mike Breeden
                        wrote on last edited by
                        #13

                        That's a bit overboard. I've seen some crazy stuff, but at least it had some rationality.

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups