Keith Smith via PLUG-discuss said on Tue, 15 Nov 2022 07:42:22 -0700 >Hi, [snip] >VirtualBox in my opinion is what is wrong with technology. I've said >it before and I'll say it again, technology has become too difficult. Not only true, but in many cases needlessly entangled. By the way, I'll answer your REAL question in another email. >Case in point, last year I configured a full-stack host in my home >office. This was complete with BIND, Postfix, and Dovecot. With a >little studying Bind is doable. Postfix, and Dovecot on the other hand >are total enigmas. I probably need to spend 30 or 40 hours to >understand setting up and configuring Postfix, and Dovecot. This isn't a good example of your point, because Dovecot is fairly complex because it does complex things, and from the dawn of civilization SMTP servers, be they Postfix, Exim, Qmail or Sendmail, are very, very, very complicated. Email is a complicated thing, and was even before the introduction of sabotage like Dkim and OAUTH2. SMTP servers are just murder if you want to get them operating right. > >I was able to get things to work, however I still do not know how. I've never successfully gotten an SMTP server to work in my life, and I'm not ashamed. Email is just very complicated, but once working, it's a wonderful thing, completely distributed, with no need for a huge corporation middleman. This is why the big corps are trying to destroy email, by complexification, in the name of security and spam control. > >PHP is the same in my opinion. To be a PHP dev requires a large stack >of technologies. I'm starting to feel the barrier to entry is too >high. > About 3 years ago I attended several AzPHP meetings and I was amazed > to >discover that the top programmers actually were embracing this level >of complexity. There was one guy,who is accomplished, that actually >looked down on anyone who was not at his level. Yikes!! Ignore the clowns. I once wrote a Python IRC channel asking how to do a very simple thing. Clown after clown said I needed a particular Python package (let's call it KitchenSink). It was this massive bunch of bumbling junk just to do something I could have done in 100 lines of code if I knew WHICH 100 lines of code to do it with. I patiently explained to them that this was going to be a free software project, and I didn't want my users to need to install a package not in Python's standard library of projects. So a clown directed me to use some sort of Pythonism where I could put all my python into some sort of giant thingamabob where my project's users would get their own version of Python and all other libraries. I explained that this was a little much when all I needed was a single feature. His reply was breathtaking: I should welcome the chance to use all this abstraction so I could learn it to further my career and be worth more in the developer marketplace. I wonder if he was the same guy that you met at azPHP. Sure has the same attitude. > >I'm talking about things like Composer and dependency injection. >Anyone know there is three ways to configure and use dependency >injection. I do not recall all 3 off the top of my head. According to Wikipedia, Constructor injection, setter injection, and interface injection. I've been using the first two, in C (not that abominable C++), since I wrote my first callback function during the rule of my buddy Julius Caesar. Last night I wrote a Python program with setter type dependency injection using a callback function. Interface injection is above my paygrade, and besides, since giving up Java, as far as I know I don't use any with explicit interfaces. I *think*, but am nowhere near sure, that interference injection might be exampled by the subclassing of a class in order to add specific behaviors. I never heard the word "dependency injection" before reading your email a few minutes ago, so I looked it up in Wikipedia. It looks to me like a great and time tested way to use a generic hunk of software, over and over again, to do specific things. As far as I can tell, OOP events are simply interface injection. I'd never heard the word "dependency injection" before reading your email a few minutes ago, so I looked it up on Wikipedia. My impression is that "dependency injection" is a very unfortunate set of terminology applied to a very handy and time tested (my understanding is it was first used by Alexander The Great's lead developer, Geekacles) way to have one piece of code handle lots of situations, and to enable plug compatible addons to that one-piece-fits-all hunk of code. [snip] > >One of the things I really liked about CodeIgniter was it's >simplicity. > A middle school kid could learn enough about it in a weekend to > start >building something. Your preceding paragraph describes "interface injection" done well, as well as OOP done well and coding done well. This is entirely too rare. > >Back to VirtualBox... I'll answer the preceding partial sentence in another email. SteveT Steve Litt Autumn 2022 featured book: Thriving in Tough Times http://www.troubleshooters.com/bookstore/thrive.htm --------------------------------------------------- PLUG-discuss mailing list: PLUG-discuss@lists.phxlinux.org To subscribe, unsubscribe, or to change your mail settings: https://lists.phxlinux.org/mailman/listinfo/plug-discuss