Trongate is a brave alternative to all of the other leading PHP frameworks.

This is not something that anyone should feel threatened by or insulted by. It’s just a fact that there are a growing number of developers who hold alternative opinions about matters to do with PHP. Those of us who feel passionate about Trongate believe in using PHP the way that PHP was originally designed to be used. For example, we see templating engines (for a PHP framework!) as being a pointless exercise. It would appear that we’re not alone in holding that belief. In reference to this, Rasmus Lerdorf - the creator of PHP - is on the record as having said:

“My greatest failure came when they started using templating engines for my templating engine.” (source: https://www.youtube.com/watch?v=JWRdqFa9xLA)

Those of us who feel passionate about Trongate see no point in using elaborate, sometimes insecure third-party ORMs like Doctrine. That’s because modern installations of PHP come with PDO as standard. In the past, there may well have been a valid justification for using something like Doctrine. We accept that. However, modern PHP has outgrown the need for that kind of third-party add-on. Some of us don’t believe in frequent rewrites either. Even though Trongate is multiple times faster than any other top ten PHP framework (including the leading micro-frameworks!) Trongate was built with stability as the framework’s highest priority.

The paragraph above represents just a tiny snippet of the reasons why Trongate is different. Of course, nobody has to like Trongate and if you happen to prefer some other PHP framework then that does not necessarily make you an incompetent or unethical developer. For the wider PHP community, Trongate simply means choice. For the first time, we have an alternative to Packagist and based on every benchmark that can be assigned a numeric value, Trongate wins.

But there’s a problem.

Unfortunately, some developers can become incredibly defensive whenever a new voice comes along with the audacity to say, “I disagree”. Back in the summer of 2021 I wrote that,

“Trongate will be the most scrutinised and secure framework in the entire PHP community.”

At the time, I was responding to a conversation in some dark corner of the web on a day when I had counted 165 posts where perfectly anonymous developers (usually on Reddit) viciously and sometimes maliciously attacked Trongate. All of this was before Trongate had even been formally launched!

Given the venomous reaction that Trongate received, I think that my apparent “bigger than Jesus” moment was reasonable. Actually, I stand by it. The fact of the matter is, when people try to find holes in your work for the purposes of online ridicule then it forces you - as a developer - to double down in your efforts to keep things as secure as possible. Do you think I’m being slightly paranoid here? Maybe I am! However, if that’s the case then I’d ask you: Can you give me the name of any PHP framework that has had the kind of ridicule that Trongate has had - before even being launched? I assume you probably can’t. Neither can I.

Unfortunately, some PHP developers see Trongate as a threat to everything they’ve been doing. They’re not willing to accept the fact that a new framework has come along that beats everything they’ve been doing… by effectively running in the opposite direction! So, rather than give Trongate any kind of fair appraisal, it’s much easier for them to say malicious things about either the framework and/or the guy who made the framework. For example, there are dark corners of the web where groups of perfectly anonymous PHP developers are openly saying that I’m mentally ill. By the way, they’re not saying it to be rude or as some kind of insult. They appear to be genuinely writing me off as a man mad! At times, they even have a tone that appears to be sympathetic. I’m not leaving links because I don’t want to give power to naysayers. However, I can confirm that I’ve been compared to Terry Davis several times. Terry Davis was, of course, a mentally ill (though brilliant) programmer who died homeless - after having been run over by a train. I’ve even had the PHP Ugly podcast laughing at me with glee as they “tear him [i.e., me] a new one”. All of this material is out there today. All of this content was put out without anyone asking me any questions or making any effort to communicate with me at all.

The good news is, I’m not mentally ill. Really! I can assure you, I’m fine. I’ve never felt better and I’m at the top of my game. Most importantly, we have some incredible developers on board the Trongate fun bus - including a former AWS programmer (a member of the Alexa team, no less!) and even a member of the NASA team (hello, Jason Hicks!). Most of the contributors to the Trongate framework have over twenty years experience in either programming or development. That calibre of developer - along with the hundreds of other developers who have given Trongate a star on GitHub are too busy and too talented to go wasting their time humouring somebody who is suffering from either mental illness or delusions of grandeur.

Let me assure you, I’m not a political person and I don’t care who you vote for. Nevertheless, I draw strength from the great Margaret Thatcher quote where she says:

“I always cheer up immensely if an attack is particularly wounding because I think, well, if they attack one personally, it means they have not a single political argument left.”

If we replace the word ‘political’ with ‘technical’ then I like to think that this is a sentiment that I can draw strength from.

What I do find particularly irritating, however, is when developers post erroneous declarations of security flaws or even unethical practices without a moment of honest research. That is a special kind of maliciousness. On the few occasions where I’ve contacted whomever made the claim and tried my best to set the record straight, I can confirm that the amount of apologies I’ve received is zero. Even as I write there are multiple claims of security flaws in the Trongate ecosystem. All of them, I can assure you, are false.

If I had time, I’d like to scour the web and offer a retort for every single negative and erroneous claim that has been made against the Trongate framework. Unfortunately, I just don’t have time for that. Moreover, the people who usually submit false claims about the framework (the classic being ‘it’s not secure’) almost always bend over backwards to make themselves perfectly anonymous.

Nevertheless, there is one particular source of false information that I think is worthy of special attention. The PHP Ugly Podcast.

In August of last year, the PHP Ugly podcast made some erroneous claims about Trongate and about me, as a person. I’d like to quickly set the record straight and then I’d like to conclude by putting their malicious behaviour in the context where I think it belongs.

Below is a summary of the false claims made by the PHP Ugly podcast along with my own response. The URL for the item in question is: https://youtu.be/H8c1g0ZW5D0?t=3603.

CLAIM 1: “It was announced on Reddit - Trongate is ready to drop”.
THE TRUTH: Neither I nor any of the developers who have contributed to Trongate announced the release of Trongate on Reddit. It’s a challenge for me, personally, to imagine a more foolish way of promoting a framework.

CLAIM 2: “No command line, no Git, no Composer dot phar no Packagist. These are features of the Trongate framework”.
THE TRUTH: No! Those are not features. It’s a list of absent features. The key features of the Trongate framework are clearly described on the homepage of the Trongate website. Instead of reading the features that are clearly set out, the host is trying to paint a picture of me as a bungling idiot. This is a theme that we’ll be returning to several times.

CLAIM 3: “[You need a] proprietary application to install this framework”
THE TRUTH: Trongate can be downloaded directly from GitHub without installing anything. The Desktop App is entirely optional. It’s also free forever. Every tutorial that I've produced for Trongate, that includes a framework installation, states this. There is no copyright for the Trongate Desktop App.

CLAIM 4: Tom Rideout (apparently reading the Trongate website): “‘...then it self updates, another industry first’... which… I mean… you guys know, is not an industry first. Emmm… lots of stuff self-updates.”.

John Congdon: “Windows [self-updates] all the time!” *laughs*

THE TRUTH: The following is a quote from Wikipedia:

“Since the commercialization of the Web, Web development has been a growing industry.”
(source: https://en.wikipedia.org/wiki/Web_development)

Clearly, I am not the first person to refer to web development as an industry. There’s nothing unusual about that terminology at all. However, the hosts of the podcast have implied I had used the phrase ‘industry first’ in reference to the wider computing industry. In their attempts to ridicule me, they appear to suggest that I’m not aware of the Windows operating system having a self-updating mechanism. What we’re getting from the podcast hosts here is a malicious attempt to portray me as a complete moron.

For the record, if there's a web development framework (PHP or otherwise) that has a self-updating mechanism for implementing major framework updates at the click of a button then I haven't heard of it. Please do tell the name of that framework. Not a package. Not Wordpress. Not Windows. What is the name of the framework that shares the same updating mechanism - or a similar updating mechanism - to the one used by Trongate? I’d like to know.

Of course, Trongate brings several industry firsts to the table and I’m very comfortable with my terminology. For example, Trongate is the only framework in the web development industry that gives users a free graphical query builder. Another fact that the PHP Ugly hosts refrained from mentioning. Furthermore, a graphical query builder could not possibly work as a command line interface tool. Another fact that the PHP Ugly hosts failed to take on board.

CLAIM 5: “Why does he want to replace Packagist? Never says! Never says a single time!”
THE TRUTH: The following is a list of URLs, from my YouTube channel, where I discuss Packagist:

https://www.youtube.com/watch?v=6PsrfGZbVXM

https://www.youtube.com/watch?v=oVSDrG4ibrI

https://www.youtube.com/watch?v=j4Uw50uBHcw

I have also discussed Packagist on several of my live streams. If you added up all of the time I’ve spoken about Packagist, online, over the last three years, then I feel sure you’d have at least ten hours worth of content. I talk about Packagist all the time!

In any event, however, I don’t feel as if there's a requirement for me to discuss Packagist! The very fact that Trongate is demolishing all of the other leading frameworks in terms of benchmark speeds speaks for itself. The independent benchmark tests are all displayed clearly on the Trongate homepage. Clearly there are performance issues with Packagist (to be more specific, PSR-4 autoloading, - the class-loading architecture that gets used by libraries that are downloaded via Packagist).

Incidentally, the people who teach Packagist (e.g., Adam Culp) encourage students to “only download popular packages”. I think that’s disgusting! This type of practice discourages innovation and creates a false substitute for real security protocols.

CLAIM 6: “So… it was shared on GitHub, ‘I totally know what I’m doing.’” *a round of laughter ensues*
THE TRUTH: Are you keeping track of all the reasons why I’m a nutcase? Let me remind you of a few of them:

I don’t know about Windows updates, I don’t understand the definition of the word ‘feature’ and now - I write crazy messages on GitHub commits.

Well, yes. There is indeed a commit on the Trongate framework GitHub page where the comment says, “I totally know what I’m doing”.

I remember that commit. I remember precisely where I was and what I was doing when I wrote that.

This commit was made during a livestream on YouTube. At the time, I was speaking with someone who managed a 2,000 strong IT team for the tech giant, Fujitsu. That person had recently enrolled for my course at Speed Coding Academy and was interested in learning about how the framework was managed. So, I was giving a live demo and for the purposes of a giggle and a demonstration I typed, “I totally know what I’m doing” in the commit comments. Incidentally, the person I refer to has since contributed to the framework. Maybe he’s a bungling idiot too - along with the fifty plus other Founding Members of the Trongate framework!

CLAIM 7: “This whole commit is removing merge conflict issues *giggle*”.
THE TRUTH: As explained above - I was doing a live stream at the time and teaching somebody how to resolve merge conflicts! In order to teach this material, I had to demonstrate creating a simple merge conflict and then resolving it. There’s really nothing weird about this and it had no detrimental effect upon the framework.

CLAIM 8: “[Trongate] appears to be the framework for very angry people who hate PHP”
THE TRUTH: On the contrary, it’s for people who love PHP. The very first page of the Trongate Docs even says the words, “PHP is perfect!”. Go see for yourself!

CLAIM 9: “He mispelt ‘Luman’ in his benchmarks”
THE TRUTH: No I didn’t. I’ve never carried out benchmark tests and quite frankly I wouldn’t even know where to start. What happened is I was sent a screenshot from somebody who reliably informed me that he had tested Trongate against the other leading PHP frameworks. I say ‘reliably’ because I’ve had two other developers report to me with similar results. I merely took the photo that was sent to me and added it to the Trongate homepage, without alteration. The person who sent me the original screenshot has since sent me a new screenshot with the typo corrected.

CLAIM 10: “You can’t put ‘they’ in quotes like that, it does not mean what you think it does”
THE TRUTH: I happen to have a degree in English literature from an Ivy League university. At any given moment, I’m an easy six month training course away from being able to teach English at secondary school level. You may catch me out with the odd typo but you’re wrong about this.

The New York Times Best Seller from Kevin Trudeau has the title, “Natural cures ‘they’ don’t want you to know about” (notice the word “they” is in quotations).

Perhaps I should stop teaching web development and start teaching podcast hosts how to use quotation marks.

CLAIM 11: “You’ll notice that his benchmarks does [sic] not contain Phalcon”
THE TRUTH: Again, they’re not my benchmarks! I can only speculate that the person who submitted the benchmarks had difficulty getting Phalcon set up. Nevertheless, I’m confident that Trongate is faster than Phalcon and I’d welcome any tests to verify this.

Last year I recorded a video on YouTube in which I put an early prototype of Trongate against Phalcon in a productivity test. Trongate won. Here's the URL: https://www.youtube.com/watch?v=PfOHSNfUf5E.

CLAIM 12: “He was lead on one of the big projects. I want to say it was either Zend or it was Codeigniter and when they transitioned to a new structure he did not get put in charge of the project and got very angry and quit.”
THE TRUTH: Wrong again. I have never written a single line of code for any version of the Codeigniter framework. I have never been a member of the core Codeigniter team or any Codeigniter team. I have never met anyone who is a part of the Codeigniter core team. I’ve never asked to be in a leadership position for Codeigniter. I’ve therefore never had a leadership effort rejected or experienced any opportunity to angrily quit. The same applies for the Zend Framework.

BONUS CLAIM: “[Windows] asks if it's okay for you to update. Apparently this one [the Trongate Desktop App] does not ask.”
THE TRUTH: When a significant update to the Trongate framework is made, users of the Trongate Desktop App receive an alert with the following three choices; 1) implement the update, 2) ignore the update or 3) learn more about the update. If a user decides to learn more, they are taken to a 'change log' page with links to the full GitHub commit history as well and the Trongate release page history - on GitHub. From there they can read a summary of the update details in plain English.

IN CONCLUSION

The hosts of the PHP Ugly podcast are in dangerous legal territory. Having portrayed me as a bungling idiot, they even tried to crow-bar in false claims of unethical conduct. Consider the following statements:


  1. I did not like the Tesla

  2. The Tesla is the worst car ever

  3. Elon Musk is the worst company director ever

  4. Elon Musk is an idiot

  5. Elon Musk spent three years working working for the engineering department at Yale University before being voted out by his fellow peers for professional misconduct


The first four statements all fall into a category that we might call 'reasonable critique'. Regardless of how bold or outrageous those statements may be, it's normal for publishers to offer statements similar to the first four shown above. All we have to do is go watch an episode of Top Gear (preferably a Jeremy Clarkson hosted episode) and we can see those kinds of statements being dished out regularly. However, the last statement is in a different category. I think that category exists outwith the scope of legal conduct. That's because the last statement makes crystal clear claims about specific events that allegedly happened at a point in time and space. The last statement could have potentially damaging implications for both Elon Musk and shareholders of Tesla - if it was produced by a content provider or broadcaster. The events described in the last statement also happen to be demonstrably false.

Personally speaking, I'm not a legal expert. However, I believe that some of the things that the hosts of PHP Ugly said fall into that dangerous, unlawful final category. I'd be willing to test this within the legal arena.

Therefore, those who know me will not be surprised to learn that I am considering taking legal action against the hosts of the PHP Ugly podcast. There are clear rules regarding what we are and aren't allowed to say and I think that this is something worthy of additional exploration. I have not yet spoken to a legal professional. Nevertheless, it's an option that's on the table.

If some perfectly faceless and perfectly anonymous person says something malicious about me on a discussion forum then it doesn't really hold much weight. In short, nobody really cares. However, when three grown men who all appear to be IT professionals and who all appear to be over the age of thirty go in front of a camera and say the kind of things that the hosts of the PHP Ugly podcasts said then - unfortunately - people believe them.

It's interesting to note that within days of the PHP Ugly podcast going out, somebody on Twitter posted a tweet saying that "Trongate is for people who hate PHP". This was a female developer whom I've never met and who has almost certainly never used Trongate. Given the fact that she mirrored precisely what the hosts of PHP Ugly had said I can only assume that she had listened to their broadcast. I approached this person privately and explained that - on the contrary - Trongate is for people who love PHP. She retracted her tweet and a fast resolution was enjoyed by all - complete with best wishes from both sides.

How many instances will there be where I don't have an opportunity to set the record straight?

Anyone who understands the web development genre on YouTube knows that when somebody says something about a framework that's negative, it can often stick for years - even if it's not true. I offer 'CakePHP is slow' as an example. It's a statement that lots of content producers say but it's actually not true at all. Compared to other leading PHP frameworks, CakePHP has no performance issues whatsoever. As a matter of fact, of all the other leading PHP frameworks CakePHP is a favourite of mine. It's good!

So, I think it's important to nip malicious garbage in the bud when it rears its ugly head - pardon the pun.

A close friend of mine, whom I spoke to about this matter, has advised me to approach the hosts of the PHP Ugly podcast with a view to perhaps appearing on their show and debating some of the issues that they raised. This is an outcome that doesn't interest me. At the time of writing my own YouTube channel has approximately twenty times more subscribers than theirs. Indeed, if the view counts on YouTube are to be believed then the episode where they attacked Trongate has more views than any of their other episodes. So, I don't want to reward their behaviour by appearing on their podcast and giving them more views.

The good news is, every day I receive messages of support from developers who previously ridiculed Trongate but who are now starting to acknowledge that it’s actually rather good. I’m speaking about developers like ‘Laravelrox’ - a YouTuber who writes:

“...the learning curve is really not that tough, the documentation is getting better and the code generator can do a lot of the simple things which you can learn from. Depending on what you're trying to do you may not need another framework! And I say that as someone who was laughing at it a few months back!” (source: https://www.youtube.com/watch?v=8RH7n5aKP94).

There is no requirement for anyone to like Trongate. However, developers - like those from PHP Ugly - who eliminate any avenue for alternative thought - represent the old guard. They are unwilling to accept change or even the thought that a perfectly legitimate alternative opinion is possible. Their voluntary subservience to the self-appointed aficionados and certificate-sellers of the PHP community is utterly inflexible and without any room for questioning. In their podcast, they even lectured their audience about the dangers of trying to 'reinvent the wheel'. To that, I would simply appeal for a more positive, more encouraging and more empowering message. Like this:



All of the false claims that were dished out by the PHP Ugly hosts were designed to make Trongate look bad, as a framework... and me, as a person. In the end, they succeeded in making themselves look bad. They've also made themselves a perfect test case for a potential legal challenge.

Whether or not there is a formal legal challenge from all of this is for me to decide. However, regardless of what may or may not happen in the legal arena, I have decided to respond to naysayers on my own terms and in an arena and manner that I am long accustomed to. That means with humour, laughter, friendliness, reason, thoughtfulness, occasional bad language and a spirit of blind optimism.

Therefore:

For all of the reasons outlined above, I am pleased to confirm that there SHALL be a Trongate podcast.

DC