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. Unknown unknowns

Unknown unknowns

Scheduled Pinned Locked Moved The Lounge
oopgraphicsdesigndata-structuresarchitecture
14 Posts 4 Posters 0 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.
  • H honey the codewitch

    I didn't so much claim the role as it was thrust upon me. In fact, I didn't want to go that direction, but I had been a senior developer for so long, headhunters were wondering about me. I had to move at least laterally if not upward, whether I wanted to or not in order to stay commercially viable.

    Real programmers use butterflies

    B Offline
    B Offline
    BillWoodruff
    wrote on last edited by
    #5

    I'm certain you deserve the title ;)

    «One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali

    H 1 Reply Last reply
    0
    • B BillWoodruff

      I'm certain you deserve the title ;)

      «One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali

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

      I didn't like doing it, so I'm sure there are others more suited. I am good at systems. I love systems. But politics, not so much, and I found that being an architect involves more interfacing with people I didn't care to interface with than I really liked. I'm a coder. Give me code. I like design, but I like to do it on my own, or among a small team I lead, where I don't have to deal with politics. Otherwise, I'd prefer to be strictly a coder.

      Real programmers use butterflies

      1 Reply Last reply
      0
      • L Lost User

        Thank your hubby. You impossible to please.

        honey the codewitch wrote:

        I saved myself because I use "template polymorphism" instead of standard polymorphism and inheritance in my library

        Case closed.

        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.

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

        Well, it has its drawbacks, like it's possible to put source code that won't compile into production if you do things this way. Code coverage testing becomes much more ... fun. It can also lead to code bloat, which is one of the main reasons that will cause me to fall back on binary polymorphism. There is no single silver bullet. I wish there was.

        Real programmers use butterflies

        L 1 Reply Last reply
        0
        • H honey the codewitch

          Well, it has its drawbacks, like it's possible to put source code that won't compile into production if you do things this way. Code coverage testing becomes much more ... fun. It can also lead to code bloat, which is one of the main reasons that will cause me to fall back on binary polymorphism. There is no single silver bullet. I wish there was.

          Real programmers use butterflies

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

          Wow. I was not talking code.

          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.

          H 1 Reply Last reply
          0
          • L Lost User

            Wow. I was not talking code.

            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.

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

            I didn't see the hubby part. :laugh:

            Real programmers use butterflies

            L 1 Reply Last reply
            0
            • H honey the codewitch

              I didn't see the hubby part. :laugh:

              Real programmers use butterflies

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

              [...]

              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
              • H honey the codewitch

                I thought I was going to get in front of my graphics device drivers by starting with the SSD1306 - a small monochrome OLED display that comes in 3 different sizes/resolutions and runs over SPI, I2C, or (not usually) parallel - the latter of which is basically never available for MCUs - it's either SPI or I2C It's a simple device. I thought implementing it would be the easiest place to start. Now keep in mind, I've written this graphics library such that it should seamlessly interface with my device drivers with very little massaging on my part. I've architected it such that I can just lego what is there together with my device drivers. Or so I thought. This device has an integrated frame buffer, but you can't *read* the frame buffer over either of those serial interfaces - only the parallel one you never have access to. This isn't a show stopper normally, except it's a monochrome framebuffer, meaning 1-bit per pixel, meaning you have to read 8 pixels in order to write one pixel because you can only write a byte at a time. So basically, you can't really do random access to the frame buffer at all with this device because of the above. I had counted on not being able to read the buffer, but I hadn't counted on not being able to do random access when writing the frame buffer. That was a corner I just didn't think around. Software architecture was being discussed earlier, and I spent some time as a software architect professionally. What it taught me was no matter how good at it you are, the results are mixed, not consistent no matter how process oriented you are about it. The reason is because of things like the above. We can't predict the future. We can't think around every corner. Architecture comes with a certain amount of accepting the idea of moving 3 steps forward and two steps back when it comes to design. There are ways to mitigate this. You can be flexible and code compartmentalized such that if you rewrite part of it you don't have to rewrite all of it. I saved myself because I use "template polymorphism" instead of standard polymorphism and inheritance in my library, so I don't have a bunch of base class changes to make that will wreck my entire source tree, but it comes with downsides as well. But you will be rewriting code for any non-trivial project. You will be redesigning bits as you go. Your best efforts are not put in heading all of that off but rather putting it into making your code flexible enough that it will survive having portions of it ripped out and complet

                C Offline
                C Offline
                CPallini
                wrote on last edited by
                #11

                How good are you in searching for generality can never beat the 'clever tricks' of the 'creative people' designing those little devices. :-D

                "In testa che avete, Signor di Ceprano?" -- Rigoletto

                H 1 Reply Last reply
                0
                • C CPallini

                  How good are you in searching for generality can never beat the 'clever tricks' of the 'creative people' designing those little devices. :-D

                  "In testa che avete, Signor di Ceprano?" -- Rigoletto

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

                  I wish it was a clever trick. That I could at least understand. Frankly, it was either laziness or otherwise expediency in the name of cost savings that made them work this way. There's no technological reason for it other than .. less than stellar design.

                  Real programmers use butterflies

                  C 1 Reply Last reply
                  0
                  • H honey the codewitch

                    I wish it was a clever trick. That I could at least understand. Frankly, it was either laziness or otherwise expediency in the name of cost savings that made them work this way. There's no technological reason for it other than .. less than stellar design.

                    Real programmers use butterflies

                    C Offline
                    C Offline
                    CPallini
                    wrote on last edited by
                    #13

                    honey the codewitch wrote:

                    expediency in the name of cost savings

                    Managers name that 'clever trick'.

                    "In testa che avete, Signor di Ceprano?" -- Rigoletto

                    H 1 Reply Last reply
                    0
                    • C CPallini

                      honey the codewitch wrote:

                      expediency in the name of cost savings

                      Managers name that 'clever trick'.

                      "In testa che avete, Signor di Ceprano?" -- Rigoletto

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

                      Hahaha that's fair. And why I'm glad I'm not in management. :laugh:

                      Real programmers use butterflies

                      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