Jan 182024
 

I gave a brief invited talk today via Zoom, participating in a workshop on cosmological models, organized by Complutense University of Madrid, Spain.

The subject of my talk was John Moffat’s theory of gravitation, MOG/STVG, to which I made significant contributions myself over the past 18 years, in an on-going collaboration with John. Judging by the questions that followed my short presentation, I think it was reasonably well received.

The workshop was streamed live on YouTube, and the video is archived.

 

 Posted by at 9:25 pm
Jan 132024
 

In 1981-82, I served as a conscript in what was then called the Hungarian People’s Army.

As an engineering student, I was trained as a radar operator, which is several notches above cannon fodder I suppose. Still, I do not have fond memories of the time.

Nonetheless, I have to admit that there were some educational moments.

Having once lived in a resort hotel that my stepfather was managing, in the spectacular, historic small town of Visegrád at the bend of the Danube, I learned how a commercial-grade kitchen, serving 100+ people, operates. Standards in Hungary were quite strict at the time, and managing such a kitchen entailed both enforcing food safety and hygiene standards and tasks such as managing and recycling meal samples, which would be used by health authorities in case of a suspected case of food-borne illness.

The military base where I spent most of my time as a conscript was an active air defense installation, part of the country’s peacetime air defense network. Nonetheless, they had a chronic shortage of officers, which meant that many tasks that would normally have been assigned to commissioned or non-commissioned officers were instead handed to us conscripts. Once they learned that I had some knowledge of how a kitchen is run, I was frequently assigned kitchen duty: No, not washing dishes (though I did that, too, in the early months of my service) but as kitchen supervisor, responsible for everything including obtaining the needed ingredients from our food storage (run by a civilian employee) and taking samples. It was a surprisingly educational experience.

Or how about the time when I was tasked with ordering… a freight train? Not just any train, mind you, but a specialized train (and route) to carry oversize equipment (our large Ural trucks that carried radar equipment and electronics) with a larger-than-standard cross-section to the USSR border, to participate in some international war games exercise. Fortunately, I didn’t have to go myself, my participation was limited to a journey to the regional headquarters of Hungary’s national railway company, where I had to patiently, and correctly, explain to the person responsible what kind of train we needed and why.

I also did minor tasks such as keeping the base’s one and only television set (an aging color set, a Videoton Color Star television, a mostly Soviet design I was told) alive. I was also responsible for the base’s movie projector, and I took weekly trips to Budapest to get a fresh movie on film, for movie night Mondays (back in the early 1980s, there was no television broadcast in Hungary on Mondays.)

The base where I served no longer exists. First, the military abandoned it. The municipality that inherited it tried to sell without much success, even as the facility was stripped, e.g., of nearly all metal bits by (I presume) metal thieves. Someone took a walk around the base in the early 2000s and put the resulting video on YouTube; it looked almost like parts of the city of Pripyat, near Chernobyl, except that in this case, I was looking at a building that I remembered very well personally, having spent some nine months of my life there.

In the end, the entire facility was demolished, to make way for a solar energy farm, if memory serves me correctly.

All that is to say that I was quite surprised, pleasantly I might add, when I discovered the other day that back in 2022, the local municipality decided to install a small memorial plaque thanking all those who served there in defense of Hungary’s airspace. The cynic in me was wondering if there was any profit in this act (it was, after all, partially financed by the EU, it says so on the plaque itself) even as I actually felt a bit of gratitude that our service was not completely unnoticed after all.

What can I say? The plaque is actually quite nice. I might even visit the spot some day.

 Posted by at 4:34 pm
Dec 242023
 

At this time of the year, especially in these tumultuous times, is there anything else I could possibly wish for?

Earthrise from Apollo 8

And from the crew of Apollo 8, we close with good night, good luck, a merry Christmas, and God bless all of you — all of you on the good Earth.

 Posted by at 2:34 am
Dec 242023
 

I don’t think I’ve ever done a “year in review” bragfest thing in my blog, but this year has been… well, surprisingly productive, helped in part by our AI friends.

Here are some of the things I created this year:

  1. A science-centered front-end for the major large language models, with support for LaTeX, markup, SVG graphics generated by the AI, and good quality PDF output. Also, savable conversations and compatibility with several Anthropic and OpenAI models. I am quite proud of this, not to mention that it has since become my primary means of accessing LLMs. (I even thought about commercializing it, but I fear it’s way too much hassle and in the end, without proper marketing, just not worth the effort.)
  2. A Web-based application to model image recovery of a rotating exoplanet with varying illumination, viewed through the solar gravitational lens.
  3. A Web-based application to model a constellation of four satellites, used in a precision gravitational experiment to detect the presence of a specific type of deviation from Newtonian gravity.
  4. A Web-based application to model imaging by multiple gravitational lenses.
  5. Another Web-based application to process and analyze emergency room medical data using machine learning.
  6. A custom telnet implementation to finally make it possible to access my game sites, british-legends.com and mud2.com, from within the browser but without third-party plugins.
  7. A reimplementation of my “seas of Mars” Web applet, written originally in Java, showing what Mars would look like if it was flooded with an ocean.
  8. A reimplementation of code I wrote many years ago, constructing a psychrometric chart and calculator, running in a Web browser.

I also published a number of papers, both on my own and with coauthors:

  1. A paper with Slava Turyshev in Phys. Rev. D, on imaging with the realistic solar gravitational lens (SGL), accounting for its deviation from perfect spherical symmetry
  2. Another paper with Slava in Phys. Rev. D, on the spherical harmonic representation of gravitational lenses
  3. A paper with several (mostly NASA) authors in Planetary and Space Sciences, on the use of solar sailing smallsats for projects, including the SGL
  4. A paper with Slava in Monthly Notices of the Royal Astronomical Society, related to the software I described above about imaging a rotating planet with varying illumination
  5. Another paper in MNRAS, this one with John Moffat, on applying his Scalar-Tensor-Vector Gravity to the case of a difficult galaxy, NGC-1277
  6. Yet another paper in MNRAS under my own name, on recovering our key results on the SGL using strictly geometric optics
  7. Finally, another sole-author paper of mine, published in Astrophysics and Space Science, also related to the corresponding software, about using a satellite constellation for gravitational anomaly detection.

Additionally, I completed several in-house projects, including a much dreaded major Joomla! upgrade: Joomla! is the content management system I use for several of my Web sites, and the upgrade required first upgrading PHP, which in turn required fixes to countless instances of PHP code I wrote as many as 20 years ago, code that is not compatible with modern PHP versions. In the process, I also wrote replacement alternatives to two no longer supported third-party Joomla! components, to view images as thumbnails, and to view an image slideshow.

I also completed the Google foobar challenge, Google’s secret recruiting tool. No, I am not looking for a job at Google, but the challenge was, well, challenging (in a fun way) and it also allowed me to learn Python, the language I chose to implement the code that the challenge required. So now I know Python. Not a Python expert by any means, but I feel confident in my ability to use that language (which, incidentally, turns out to be more fun than I anticipated.)

So not quite an annus mirabilis (I don’t expect to discover a new relativity theory anytime soon) but not a bad year. And at least for a small part of this work, I even got paid. Not much, mind you, but I’ve been able to pay our bills so I am not complaining. I suppose if I were smarter, I’d do more work for money, but then again, there’s the quality of life thing, too…

 Posted by at 2:27 am
Dec 142023
 

I wanted to check something on IMDB. I looked up the film. I was confronted by an unfamiliar user interface. Now unfamiliar is okay, but the UI I saw is badly organized, key information (e.g., year of release, country of origin) difficult to find, with oversized images at the expense of useful content. And no, I don’t mean the ads; I am comfortable with relevant, respectful ads. It’s the fact that a lot less information is presented, taking up a lot more space.

Fortunately, in the case of IMDB I was able to restore a much more useful design by logging in to my IMDB account, going to account settings, and making sure that the Contributors checkbox was checked. Phew. So much more (SO MUCH MORE) readable, digestible at a glance. Yes, it’s smaller print. Of course. But the information is much better organized, the appearance is more consistent (no widely different font sizes) and the page is dominated by information, not entertainment in the form of images.

IMDB is not the only example. Recently, after I gave it a valiant try, I purposefully downgraded my favorite Android e-mail software as its new user interface was such a letdown. At least I had the foresight to save the APK of the old version, so I was able to install it and then make sure in the Play Store settings that it would not be upgraded. Not that I am comfortable not upgrading software but in this case, it was worth the risk.

All this reminds me of a recent discussion with a friend who works as a software professional himself: he is fed up to his eyeballs with the pervasive “Agile” fad at his workplace, with its mandatory “Scrum” meetings and whatnot. Oh, the blessings of being an independent developer: I could tell him that if a client mentioned “Agile” more than once, it’d be time for me to “Scrum” the hell out of there…

OK, I hope it’s not just grumpy ole’ complaining on my part. But seriously, these trendy fads are not helping. Software becomes less useful. Project management culture reinvents the wheel (I have an almost 50-year old Hungarian-language book on my shelf on project management that discusses iterative management in depth) with buzzwords that no doubt bring shady consultants a lot more money than I ever made actually building things. (Not complaining. I purposefully abandoned that direction in my life 30 years ago when I quietly walked out of a meeting, not having the stomach anymore to wear a $1000 suit and nod wisely while listening to eloquent BS.) The result is all too often a badly managed project, with a management culture that is no less rigid than the old culture (no fads can overcome management incompetence) but with less documentation, less control, less consistent system behavior, more undocumented dependencies, and compromised security. UI design has fads that change with the seasons, united only by results that are about as practical as a Paris fashion designer’s latest collection of “work attire”.

OK, I would be lying if I said that only bad things come out of change. Now that I use AI in software development, not a day goes by without the AI teaching me something I did not know, including tools, language features and whatnot that can help improve the user experience. But it would be so nice if we didn’t take three steps back for every four steps forward.

 Posted by at 10:21 am
Dec 012023
 

Well, here it is, a local copy of a portable large language and visual model. An everywhere-run executable in a mere 4 GB. Here’s my first test, with a few random questions and an image (one of my favorite Kliban cartoons) to analyze:

Now 4.57 tokens per second is not exactly fast but hey, it runs on my 7-year old workstation, with no GPU acceleration, and yet, its performance is more than decent.

How is this LLM different from GPT or Claude? Well, it requires no subscription, no Internet connection. It is entirely self-contained, and fast enough to run on run-of-the-mill PC hardware.

 Posted by at 12:12 am
Nov 302023
 

So the other day, as I was doing a Google Search (can’t exactly remember what it was that I was searching for but it was machine learning related), up pops this invitation to participate in a challenge.

Turned out to be the Google Foobar challenge, Google’s secret recruiting tool. (Its existence is not really a secret, so I am not really revealing any great secrets here.)

Though I have no plans to become a Google employee (and I doubt they’re interested in me on account of my age anyway) I decided to go through the challenge because, well, it’s hard to say no to a challenge, and it was an opportunity to practice my Python skills (which need a lot of practice, because I have not yet used Python that much.)

Well, I did it. It was fun.

More importantly, I enjoyed it just as much as I enjoyed similar challenges as a math geek in my early teens. And if that’s not a gift from life, I don’t know what it is.

And yes, I am now much better at Python than I was just a few days ago. I certainly appreciate why the language has become popular, though I can also see its non-trivial pitfalls.

 Posted by at 6:03 pm
Nov 202023
 

I am not Jewish. My family is not Jewish.

My father’s first wife, however, was Jewish. His son from that first marriage, born decades before I was born, is Jewish and married a Jewish woman. My mother’s grandparents, though not Jewish, worked for a Jewish family at the turn of the last century, and lived in their household.

That might explain how it came to be that I grew up using expressions like “gott sei dank” or “na zag schon”, much to the amusement of some of my Jewish friends who know less Yiddish than I. Or why I have friends who had parents, siblings, aunts, nieces, spouses murdered in Auschwitz or shot into the Danube by the Hungarian Arrow Cross during the Holocaust.

No, that does not mean that suddenly I have a favorable opinion of Mr. Netanyahu (I don’t) or that I turn a blind eye when I see innocents suffer. I have criticized and will again criticize the government of Israel. In fact, for what it’s worth, I think Netanyahu is a crook, his pact with the far right is a poison pill for Israeli democracy, and that the outsize influence of the ultraorthodox is corrupting Israeli politics. Unfortunately I also do not see a long-term solution, an achievable goal: None of the foreseeable alternatives provide an acceptable outcome: The two-state solution undermines Israeli security, annexation would create an Arab-majority state, more drastic “solutions” like wholesale expulsion or genocide (of either Palestinians or Jews) are obviously unacceptable. So the status quo remains by default, even though it’s not exactly a solution either.

But “never again” must mean something. Failure to respond to the attack on October 6 would amount to the Israeli state abandoning its most basic responsibility to its citizens. It is the sad nature of war that when one party hides behind its civilians, civilians suffer. Notably, however, hiding behind civilians only works against a civilized opponent that abhors “collateral damage”: if Israel was as savage, as hell-bent on genocide as its enemies suggest, hiding behind civilians would not work as a Hamas tactic.

Earlier, I came across a meme that depicted a female Arab member of Israel’s Knesset, enumerating the rights she enjoys as a full citizen of Israel. I changed my mind about reusing that meme since I suspect that it was created without her approval. Even though she is a public figure, so using her image in this manner is arguably legitimate, it felt a bit tasteless.

Instead, let me just repost a propaganda meme straight from Israel’s defense forces.

It’s not even new; it dates back to 2014. And yes, it’s a propaganda piece. But like all good propaganda, it is based on the sad truth.

 Posted by at 1:01 pm
Nov 082023
 

Sometimes it feels… so pretentious.

Here I am, saying all sorts of clever things in my blog. I once declared blogs to be write-only media, my way of shouting at the world without the world saying anything in return, but that kind of ceased being true when I decided, eons ago, to share my blog posts on social media, where a few friends at least reacted occasionally.

So who do I think I am, proclaiming my wisdom to the world, really?

For instance, a few days ago I thought I’d blog about the first precision clock arriving in America centuries ago, and promptly failing, leading to a better understanding of how the gravitational acceleration on the surface of the Earth may change with geographic location. But is there anything I can add to the subject other than what’s in the article I am citing?

Or take this report from earlier today, about Singapore’s Prime Minister expressing very much the same concerns that I have about the world experiencing a moment of danger not unlike the moments before the Great War. OK, so I blog about it. Is there anything I can add other than, hey, look, I am ever so clever, even Singapore’s PM shares my views!?

I suppose I feel most comfortable blogging about my actual research or my work. These are subjects that I can address with some competence.

Or maybe just blog about cats. They know how to be wise and silent, after all.

Meanwhile, in the world of humans…

F-15s strike weapons facility in Syria

By Lauren C. Williams and Jennifer Hlad

ABOARD A MILITARY PLANE—Two U.S. F-15 fighter jets attacked a weapons storage facility in eastern Syria on Wednesday, in what Defense Secretary Lloyd Austin called a “precision self-defense strike” in response “to a series of attacks against U.S. personnel in Iraq and Syria by the [Iranian Islamic Revolutionary Guard Corps]-Quds Force” and related groups.

So I must now follow my cats’ example and resist the urge to blog about how the US and Iran might already be at war…

 Posted by at 9:51 pm
Nov 042023
 

I grew up on The Beatles.

OK, I came a little late I guess, as The Beatles broke up when I was in the second grade, and truly it wasn’t until the fifth grade that a classmate introduced me to the Red and Blue albums… But I fell in love with their music. I couldn’t believe that they were not together anymore, and like many young teens my age, I kept hoping that they’d reunite until Lennon was murdered.

I never stopped loving their songs.

What I did not expect was that I’d be listening to a new Beatles song almost 50 years later, in 2023.

I admit I was skeptical at first. I expected something that would bear a vague, soulless resemblance to what The Beatles used to be, a cheap attempt to cash in on their fame one very last time.

Instead, I was listening to an authentic Beatles song. One of their best, as a matter of fact. And I was looking at a video that brought Lennon and Harrison back to life, cheerful, funny, joyous, happy…

Bless Peter Jackson. There are “deepfakes” and then there are “deepfakes”… and I cannot think of a more appropriate, more respectful use of AI, bringing legends of the past back to life, as in this video.

I have listened to the song and watched Peter Jackson’s masterful creation at least five times in a row. And every time, I was almost in tears.

 Posted by at 6:53 pm
Nov 012023
 

A few minutes ago, I checked Google News on my phone and lo and behold, there was a link to Universe Today, a new article discussing my latest manuscript on multiple gravitational lenses.

I knew that this was in the works, as the author approached me with some questions earlier in the day, but I didn’t expect it to appear this quickly, and, well, seeing it on my phone like this was a nice surprise.

Had the author asked, I’d have happily granted permission to use one of my generated images or animations involving multiple lenses.

Meanwhile, my paper on a four-satellite configuration used to detect deviations from Newtonian gravity was published by Astrophysics and Space Science, one of the Nature journals. I am officially permitted (in fact, encouraged) by Springer to share the link to an online read-only version of the published paper.

 Posted by at 1:25 am
Oct 292023
 

Every so often, a Google Calendar reminder that I set up ages ago reminds me to charge our old cell phones. This is to prevent their batteries from dying as a result of a deep discharge.

Old cell phones, you ask? Well, yes. When we swapped phones, we kept the old ones for a while, just in case. And then we kept them because wiping them securely seemed like too much of a hassle. And then we kept them because, well, what’s the alternative? Landfill? Yes, I know, some service providers accept old phones, might even give you credit. But what happens to those old phones? Who needs them? Who can use them, with their ailing batteries and, worst of all, the absence of software updates, including security patches?

Indeed, this end of support was the main reason why we ditched phones in the past. And it really is tragic. Never mind phones old enough to have outdated specs. I have here a few devices that have hardware specs that would be reasonable on the low end even today. The devices are perfectly functional. Yet they are worthless.

This is just… conspicuous consumption, forced upon us by a society that measures the health of the economy not by its stability or sustainability but by growth. Pointless, limitless growth.

Never mind that in the meantime, the middle class shrinks, the income and wealth gap widens, society is becoming more polarized, ultimately threatening the very foundations of our Western liberal democracies. Who cares about such nonsense when there’s a new phone out there with half a dozen camera lenses and who knows what other nonsense just to make you believe that they’re worth your money and that it’s perfectly okay to throw away a capable, quality piece of electronics that would have many more years of useful life left?

Darnit, I realize I almost sound like a grumpy old commie, when in reality what I worry about is the future of a healthy capitalist society, characterized by freedom of conscience, the rule of law, freedom of speech, and freedom of enterprise. But there’s a fine line between freedom of enterprise and the “tragedy of the commons”, and when free enterprise undermines the very foundations of liberal democracy, perhaps it is advisable to do something about it before it is too late.

By the way, I really liked these Nokias. What a pity we had to get rid of them. They still function perfectly, but without security patches, they’re not worth the risk.

 Posted by at 2:58 pm
Oct 192023
 

Last night, I received notification from the CRA about an upcoming small tax refund.

When I logged on with my business account, it appeared to show that I had 3 unread messages, though there was a funny smudge before the ‘3’ in the notification icon.

When I clicked, I saw only one unread message. When I went back to the main screen, I now saw a ‘4’. That’s when I realized that the smudge was… a minus sign.

Indeed I had four messages shown in the mail interface, all read. So instead of counting the number of unread messages as a positive number, the UI showed the number of read messages as a negative number.

I have not yet received the refund. I hope that when (if?) it shows up in my bank account, it will have the correct sign.

 Posted by at 10:15 pm
Oct 122023
 

I’m doing more work on gravitational lensing. In particular, the little ray tracing model that I developed can now use actual astronomical images as sources. Here’s a projection of a nice spiral galaxy as it would be seen through a pair of non-coplanar, imperfectly lined up lenses:

Somehow, I suspect, no astronomer would recognize (at least not without a spectral analysis) that these are four images of the same rather nice-looking galaxy, NGC-4414:

These lensing examples also demonstrate how difficult it is to reconstruct either the original view, or the mass distribution of the lens itself, when all we see is something like the first image above.

 Posted by at 9:35 pm
Sep 162023
 

My friend John Moffat has a finite quantum field theory that, I think, deserves more attention than it gets.

The theory is nonlocal (then again, so is quantum physics to begin with). However, it does not violate causality. So its nonlocality is a mathematical curiosity, not a physical impossibility.

The essence of the theory is present in the form of its “nonlocal field operator”. Given, e.g., a scalar field in the form \(\phi(x),\) the field is transformed as

$$\tilde\phi(x)=\int d^4x’f(x-x’)\phi(x’).$$

Now if we just used the Dirac delta-function \(f(x-x’)=\delta^4(x-x’),\) we’d get back \(\phi(x).\) But what if we use some other function, the only restriction being that \(f(x)\) must be an entire function, which is to say, unambiguously defined without poles or singularities over the entire complex plane?

Well, then, assuming again that \(f(x)\) is an entire function, we can integrate iteratively in parts, until we arrive at an expression in the form,

$$\tilde\phi(x)={\cal F}(\partial_x)\phi(x),$$

where \({\cal F}(\partial_x)\) is a derivative operator, typically some power series in the form \(\lambda_i\partial_x^i\), acting on \(\phi(x).\)

Why is this good for us? Because this field redefinition can suppress high-energy divergences in the theory, essentially doing away with the need for renormalization, which, of course, is a Big Claim indeed but I think John’s theory works.

John’s first substantive papers on this topic were titled Finite quantum field theory based on superspin fields (J. W. Moffat, Phys. Rev. D 39, 12 (1989)) and Finite nonlocal gauge field theory (J. W. Moffat, Phys. Rev. D 41, 4 (1990)). Unfortunately these papers predate arxiv.org so only the paywalled versions are available. They are beautiful papers that deserve more recognition. More recently, John wrote another paper on the subject, collaborating with a student. One of these days, I’m hoping to spend some time myself working a bit on John’s theory because I believe it has merit: The theory appears to remain causal despite the nonlocal operator, and by doing away with the need for renormalization, it makes canonical quantization almost trivially possible. I keep wondering if there is, perhaps, a catch after all, but if that’s the case, I have yet to find it.

 Posted by at 1:37 pm
Sep 122023
 

Yes, that’s me. At least according to The Political Compass.

It does not surprise me much, mind you. While I am not a wild-eyed, “woke”, progressive “social justice warrior” (in fact, I am increasingly a deeply fed up with the “woke” lot), many of my views tend to align broadly with the traditional left. I also reject authoritarianism in all forms, and while I don’t endorse unconstrained freedom (e.g., in the economy), I largely view constraints as a necessary evil, not as a universal solution.

And, of course, I absolutely, strongly, vehemently reject any and all forms of personality cults.

So here, then, is my question: Given the direction our societies are heading, will there be room for left-wing libertarians like me in the future? Authoritarianism seems to be so much in vogue these days, be it the culture of intolerance in the name of tolerance as practiced by the woke left, or the more traditional authoritarianism of the nationalist right. The common theme that unites them is their rejection of liberal democracy’s core systems of institutions.

To offer an idea of what the four quadrants represent: Left-wing authoritarians (red, upper left) include Stalin and Mao. Joe Biden and Donald Trump both qualify as right-wing authoritarians (blue, upper right) according to the Compass, though I am sure not nearly as extreme as Pinochet or Mussolini, also in the same quadrant. Hegel or Ayn Rand along with von Mises are right-wing libertarians (purple, lower right). The green quadrant (lower left), where I found myself, apparently includes Gandhi, Mandela and Noam Chomsky. Urgh. I so disagree with Chomsky on many things. Oh well, these are big quadrants.

 Posted by at 11:11 pm
Sep 122023
 

I gave a talk on the Solar Gravitational Lens in Montreal back in July, using the above title.

Video of the talk is now available online, courtesy of the Interstellar Research Group.

I just listened to it myself and I didn’t cringe too much hearing my own voice or watching myself, which is probably a good sign?

 Posted by at 12:31 am
Aug 082023
 

For the longest time as developers, we were taught not to reinvent the wheel. “There is a library for that,” we were told, so instead of implementing our own solutions for common, recurring tasks, we just imported and linked the library in question.

And sure, it made a lot of sense. Countless hours of development time were saved. Projects were completed on time, within budget. And once the system worked, it, well, worked. So long as there was a need to maintain the software, we just kept the old development tools around for the occasional bug fix and recompile. I remember keeping a Visual Studio 6.0 configuration alive well into the 2010s, to make sure that I could offer support to a long-time customer.

But then… then came the Internet. Which implied several monumental paradigm shifts. One of the most fundamental among them is that a lot of software development no longer targeted cooperating users in a closed environment. Rather, the software was exposed to the public and, well, let’s face it, not all members of the public have the best intentions in mind when they interact with our systems.

Which means that third-party code turned from an asset into a substantial liability. Why? Because of potential security issues. Using old versions of third-party libraries in public-facing systems is an invitation for disaster. Those third-party components must be kept up-to-date. Except…

  • Updating a component may break other things. There is a need for extensive regression testing, especially in complex systems, to ensure that an upgrade does not result in unintended consequences.
  • Updates are not always available. The third-party code may no longer be supported. Source code availability can mitigate this to some extent, but it can still result in a disproportionate level of effort to keep the code secure and functional.
  • Long-term reliance on third-party code implies long-term reliance on the integrity and reliability of the vendor. Code ownership can change, and the new owners may have different objectives. In extreme cases, once reliable third-party code can end up being used as Trojan code in planned cyberattacks.

For a while, there was a great need for third-party code in Web development. HTML4 had limitations, and browser implementations varied wildly. Widely used third-party libraries like jQuery made it possible to prepare code that ran well on all major platforms. But this really is not the case anymore. “Out of the box” HTML5, CSS3 and modern JavaScript are tremendously capable tools and the implementation across major browsers is quite consistent these days, with only minor idiosyncrasies that can be easily dealt with after a modest amount of testing.

So really, my advice these days to anyone developing a new Web application is to avoid third-party libraries when possible. Especially if the application is intended to have a long life-cycle. Third-party code may cut down development time slightly, but the long-term costs may far exceed those savings. And there will still be more than enough to do just to keep up with other changes: witness the changes over time that occurred in browser security models, breaking once functioning Web applications, or the changes between, say, PHP5 and PHP7.

And of course there are still valid, legitimate use cases for specialized third-party libraries. For instance, in a recent project I used both MathJax (for rendering mathematical formulas) and markdown (for rendering displayed code). Developing something like that from scratch is just not an option.

Why am I harping on all this? I am currently facing a minor crisis of sorts (OK, that may be too strong a word) as I am trying to upgrade my Web sites from Joomla 3 to Joomla 4. Serves me right, using a third-party content management system instead of writing my own HTML! Worse yet, I used some once popular extensions with Joomla, extensions that are no longer supported, and which are wholly incompatible with Joomla 4. Dealing with this is difficult and time-consuming.

It would be a lot more time-consuming were it not for the help I get from our LLM AI friends. Thankfully, these tools, GPT-4 in particular, are immensely helpful. E.g., one third-party Joomla extension I used offered a nice way to present images as clickable thumbnails. This extension is now badly broken. However, GPT-4 already helped me write a clean, functional alterative that I’ll be able to use, and thus avoid having to redesign some important pages on my site.

 Posted by at 2:16 am