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
Aug 072023
 

The game’s Web site may be dated (hey, it’s a nearly 20 year old template… yes, we’ve been around that long, a lot longer in fact) but it now has a new feature: it is again possible to play MUD1/British Legends from the browser.

The feature is experimental and may still need to be disabled if it glitches but here’s to hoping that it doesn’t.

 Posted by at 2:57 pm
Jul 312023
 

My high school classmate György (Gyuri) Matavovszky spent the last almost 17 months volunteering for the Red Cross, helping Ukrainian refugees. Without further ado, with his permission, here is an English translation of his latest Facebook post, which sums up his experiences and his personal journey, while also revealing a lot about the sociopolitical environment in which he lives in present-day Hungary.


I shall now take off the Red Cross vest that I first put on 503 days ago and have worn for about 50 night shifts since then. The Hungarian government is closing down the aid point set up at the BOK Hall due to the war, where newly arrived and other homeless refugees from Ukraine could come until now and receive very modest care, minimal food and drinks, hygiene facilities, camp beds with bedding in a communal sleeping area for one, in some exceptional cases two-three nights (since life in Hungary is so good that everyone’s situation surely gets resolved in one-two days, so no one needs to stay longer).

The hall opened for this purpose at the end of March last year. Back then, aid organizations and representatives of various other bodies were moved here from the train station. There was a children’s corner, doctor, pet care, child welfare services, ticket office, mental health support, shuttle buses ran hourly between the train stations and the hall, 1000-2000 people came through here daily back then, who were very easy to provide for initially, as we received huge amounts of donations. The number decreased exponentially, but willingness to donate even faster, so we soon reached the point where rather than abundance, it was need that made things difficult for us. Then everything slowly shifted to a lower gear, for example in November the medical care was also terminated, which I know because I had to accompany a sick person to the Military Hospital, and wait with them from 11pm to 3am for the four hours the Hungarian healthcare system needs to carry out a routine examination. In February, I was a hair’s breadth away from someone dying in front of me. I failed to recognize the signs of a heart attack in a refugee who arrived across the green, or rather blue, border (the Tisza River) – luckily a colleague of mine was more alert and called an ambulance just in time. In the end he survived, now he lives with his family in Győr, has a job too, we know about him.

But this is just one example, because there were many other very difficult situations, too. It wasn’t just the arrivals from Ukraine that were problematic, we Hungarians often didn’t get along easily either, there was tension even among the volunteers at times. Is it okay to give coffee in the middle of the night—this remained an eternally returning question that still has no consensus answer. Because if we give it, they get more lively and won’t let the others sleep, or make more demands of us, too. But if we don’t, we deny them the one joy they may have that day. We too often lost patience, but I won’t focus further on the downsides of our performance. On the very first night I decided that I’m not here to help the refugees, but they are helping me, and I stuck to that pretty much. I accompanied some of them to trains, planes, airport buses, when that was the simplest or most humane way to give directions. In the process, I always developed a connection with them that could no longer be let go of without tears—the worst is when you stand on the platform, hugging them and they hug you too, and you both know you will never see each other again. These moments were always unbearably painful.

The nights had their own arcs—the shift started at 8pm, by midnight we only felt like we were getting into it, by then we were usually tired enough to start feeling a bit numb from it. Somewhere between 2 and 2:30am was the low point, from when the mental state tips over, you start to feel the dawn coming, and this generally calms you down too. The second half of the night was always much easier, and in the morning not only does the sun rise outside, your heart is flooded with light inside too – I always left tired but with great peace in my heart – I will miss this feeling a lot.

Let no one think the BOK Hall is closing because the war is over and there is no more need for it. The war is not over, the BOK Hall would be needed, but the community is poor, I mean there is very little good intention in the budget, we are completely exhausted morally, in character, currently at rock bottom, though I’ve written a lot about this before. There will be something, somewhere instead, but it will be operated by the pro-government Maltese Charity Service, and for sure it won’t be worth even this much. I won’t participate because I’m not Catholic enough and anyway I’m sick of the whole thing. I was sick of it before too, but the Red Cross supervisor kept my spirit up, his name is Gyuri too, we could never decide whether I’m one and he’s the other, or vice versa, I think it’s the latter actually, in my phone he’s saved as Egyik Gyuri (Gyuri One).

I don’t want to be without social work long term, I hope one day I’ll wear a Red Cross vest again, I hope not too long from now. Now I need to pull myself together for mural painting, but if I can get that going maybe I’ll have time for something similar again. I don’t want to be a social worker, but from now on I want something like this always to be part of my life, because meeting unfortunate people results in a fantastically intense wake-up call, and I think in the long run it really helps staying awake. For example, you understand that they often live a much more real, much more honest, much more self-consistent life than us, who collect a pile of assured money every month, which we then spend floating in a beautiful bubble.

There is a lot of cognitive dissonance in the Red Cross too, but still it’s far from the worst organization in the world, its past shines through its present a bit, in my work I managed to meet exemplary people, including some much younger than me who can behave very consciously, very maturely in trying human situations, and in whom I see a lot of potential still. As I look at it, this hidden potential will be needed sooner or later, or rather is needed now, it’s just very hard for the penny to drop, it’s very hard for us to notice this spiritual need.

I won’t beat around the bush, before the war I too spent my days in deep slumber, and I still don’t feel fully awake. However, I very much hope enough bridges have burned behind me that I won’t be able to flee back to where I was living before. In this service ending now, I feel the next personal message from life: Gyuri – one or the other, doesn’t matter – You are mature enough now, You don’t need to do this anymore, because with what you’ve done so far, you’ve detached yourself enough from your previous mode of existence, you’ve gotten from A to B, and even if you don’t see filthy, dirty refugees around you for a couple months, you won’t slide back to where you were before. Yes, I feel this whole thing was an initiation, a tangible step on the path to becoming human, which I desperately needed, and by some miracle this time I didn’t brush it off with some stupid response, as I’ve done countless times before, but this time not. This is what war does!

 Posted by at 3:07 pm
Jul 272023
 

Don’t look a gift horse in the mouth, they say, so I will not question how, or why, just express my happiness that my frustration is over: Redmine, the software package that I use internally for project management, works again.

It all began with an unpleasant but unavoidable upgrade of the MariaDB database from the ancient version that is part of the CentOS distribution to a more recent one. (Which, in turn, is needed to upgrade my content management software on some of my Web sites.)

Everything worked after this (planned, reasonably well pre-tested) upgrade except for Redmine.

Redmine is beautiful, very useful, but also very frustrating to install and manage. It uses Ruby on Rails, a software environment that… OK, let me not go there. I’ll keep my opinion to myself.

I spent countless hours yesterday, to no avail. The Redmine system refused to start. I installed, reinstalled, configured, reconfigured, uninstalled, reinstalled… Redmine, Ruby, its various management tools, you name it. Nothing did the trick. I gave up long after midnight.

I dreaded the moment today when I’d be resuming that thankless, frustrating exercise with no assured outcome. But I need Redmine. I have too much information in that system that I cannot afford to lose. So eventually I rolled up my sleeves (literally) opened the browser tab that had the link, and hit F5 to refresh the page, expecting the same error message that I’ve seen before to reappear.

Instead… Redmine came up in all its glory, with all my existing project data intact. Everything works.

I was so shocked by surprise I almost felt physically ill. A bit like this Midjourney cat, upon receiving an unexpected, very welcome gift.

Don’t look a gift horse in the mouth they say, so I am not complaining. But I’d still like to know what exactly happened. Why things started to work all of a sudden. I told my beautiful wife to imagine leaving a half-finished knitted sweater in her room one night, only to come back the next morning and finding a beautifully finished sweater there.

My mind, for now, is in a deeply boggled state. I honestly don’t know how or why it happened. But I am a very happy cat tonight.


A footnote: After I wrote the above, late, late, late at night, all of a sudden Redmine failed again, with a different error. I was ready to tear my hair out. But I was able to fix the problem. The likeliest cause as far as I could determine is that although the Redmine site had the correct Ruby version identified, a default setting specified an older, incompatible version of Ruby. It was fortunate that I was able to fix it, otherwise chances are I’d have spent a sleepless night trying.

 Posted by at 7:06 pm
Jun 082023
 

Glad I am not a politician or public personality as I am about to commit what would amount to political suicide, a’la J. K. Rowling.

The reason? This health warning by The Weather Network, that truly blew my fuse:

Middle line of the red warning at the bottom. That list of folks at high risk:

“[…] older adults, children, pregnant people, and people who work outdoors […]”

Pregnant “people”??? Seriously, why not pregnant primates? Pregnant mammals? Pregnant vertebrates?

Let me not mince words. This is virtue signaling at its worst, pandering to a loud, obnoxious group of “alphabet soup activists”, claiming to, but not really representing gays, lesbians and others who simply just want to live a life in dignity, respected as human beings, enjoying what should really be the inalienable right of every human being on this planet, to be left alone, to be allowed to live a life to the fullest in the company of those they love.

The biggest irony of all? Even as conservatives in many corners of the world, especially here in North America, are busy turning the fictitious country of Gilead from The Handmaid’s Tale into actual reality, what these activists do is no less harmful to women. Their agenda amounts to little more than the idea that “men are better than women at everything, including being women,” as someone recently put it on Quora.

Dear Weather Network, dear Environment Canada (if that’s where the text of the warning came from): Let this serve as a friendly reminder that the English language has a perfectly serviceable word to describe those members of the species homo sapiens who are biologically capable of becoming pregnant: they are called women. Check your dictionaries, it’s there.

 Posted by at 3:09 pm
Jun 052023
 

I have written before about my fascinating experiments probing the limits of what our AI friends like GPT and Claude can do. I also wrote about my concerns about their impact on society. And, of course, I wrote about how they can serve as invaluable assistants in software development.

But I am becoming dependent on them (there’s no other way to describe it) in so many other ways.

Take just the last half hour or so. I was responding to some e-mails.

  • Reacting to an e-mail in which someone inquired about the physics of supersymmetry, I double-checked with the AI to make sure that I do not grossly misrepresent the basic principles behind a supersymmetric field theory;
  • Responding to a German-language e-mail, after I composed a reply I asked the AI to help clean it up, as my German is rusty, my grammar is atrocious (or maybe not that atrocious, the AI actually complimented me, but then again, the AI can be excessively polite);
  • In a discussion about our condominium’s budget, I quickly asked the AI for Canada’s current year-on-year inflation; with my extension that allows it to access Google, the AI was able to find the answer faster than I would have with a manually executed Google search.

All this took place in the past 30 minutes. And sure, I could have done all of the above without the AI. I have textbooks on supersymmetry. I could have asked Google Translate for a German translation or take my German text, translate it back to English and then back to German again. And I could have done a Google search for the inflation rate myself.

But all of that would have taken longer, and would have been significantly more frustrating than doing what I actually did: ask my somewhat dumb, often naive, but almost all-knowing AI assistant.

The image below is DALL-E’s response to the prompt, “welcome to tomorrow”.

 Posted by at 8:20 pm
May 312023
 

I just finished uploading the latest release, 5.47.0, of our beautiful Maxima project.

It was a harder battle than I anticipated, lots of little build issues I had to fix before it was ready to go.

Maxima remains one of the three major computer algebra systems. Perhaps a bit (but only a bit!) less elegant-looking than Mathematica, and perhaps a bit (but only a bit!) less capable on some friends (exotic integrals, differential equations) than Maple, yet significantly more capable on other fronts (especially I believe abstract index tensor algebra and calculus), it also has a unique property: it’s free and open source.

It is also one of the oldest pieces of major software that remains in continuous use. Its roots go back to the 1960s. I occasionally edit 50-year old code in its LISP code base.

And it works. I use it every day. It is “finger memory”, my “go to” calculator, and of course there’s that tensor algebra bit.

Maxima also has a beautiful graphical interface, which I admit I don’t use much though. You might say that I am “old school” given my preference for the text UI, but that’s really not it: the main reason is that once you know what you’re doing, the text UI is simply more efficient.

I hope folks will welcome this latest release.

 Posted by at 8:54 pm
May 232023
 

In the last several years, we worked out most of the details about the Solar Gravitational Lens. How it forms images. How its optical qualities are affected by the inherent spherical aberration of a gravitational lens. How the images are further blurred by deviations of the lens from perfect spherical symmetry. How the solar corona contributes huge amounts of noise and how it can be controlled when the image is reconstructed. How the observing spacecraft would need to be navigated in order to maintain precise positions within the image projected by the SGL.

But one problem remained unaddressed: The target itself. Specifically, the fact that the target planet that we might be observing is not standing still. If it is like the Earth, it spins around its axis once every so many hours. And as it orbits its host star, its illumination changes as a result.

In other words, this is not what we are up against, much as we’d prefer the exoplanet to play nice and remain motionless and fully illuminated at all times.

Rather, what we are against is this:

Imaging such a moving target is hard. Integration times must be short in order to avoid motion blur. And image reconstruction must take into account how specific surface features are mapped onto the image plane. An image plane that, as we recall, we sample one “pixel” at a time, as the projected image of the exoplanet is several kilometers wide. It is traversed by the observing spacecraft that, looking back at the Sun, measures the brightness of the Einstein ring surrounding the Sun, and reconstructs the image from this information.

This is a hard problem. I think it is doable, but this may be the toughest challenge yet.

Oh, and did I mention that (not shown in the simulation) the exoplanet may also have varying cloud cover? Not to mention that, unlike this visual simulation, a real exoplanet may not be a Lambertian reflector, but rather, different parts (oceans vs. continents, mountain ranges vs. plains, deserts vs. forests) may have very different optical properties, varying values of specularity or even more complex optical behavior?

 Posted by at 12:06 am
May 042023
 

Claude still gets easily confused by math (e.g., reciprocal vs. inverse of a function), but at least it can now plot them as part of a conversation when we communicate through my UI:

And it has not forgotten to use LaTeX, nor has it lost its ability to consult Google or Maxima when needed. In fact, I am beginning to feel that while GPT-4 is stronger when it comes to logic or basic math, Claude feels a tad more versatile when it comes to following setup instructions, and also more forthcoming with details. (Too bad sometimes the details are quite bogus.)

 Posted by at 6:29 pm
May 032023
 

And just when I thought that unlike Claude and GPT-4, GPT 3.5 cannot be potty-, pardon me, Maxima- and Google-trained, I finally succeeded. Sure, it needed a bit of prodding but it, too, can utilize external tools to improve its answers.

Meanwhile, as I observe the proliferation of AI-generated content on the Web, often containing incorrect information, I am now seriously worried: How big a problem are these “hallucinations”?

The problem is not so much with the AI, but with us humans. For decades, we have been conditioned to view computers as fundamentally dumb but accurate machines. Google may not correctly understand your search query, but its results are factual. The links it provides are valid, the text it quotes can be verified. Computer algebra systems yield correct answers (apart from occasional malfunctions due to subtle bugs, but that’s another story.)

And now here we are, confronted with systems like GPT and Claude, that do the exact opposite. Like humans, they misremember. Like humans, they don’t know the boundaries between firm knowledge and informed speculation. Like humans, they sometimes make up things, with the best of intentions, “remembering” stuff that is plausible, sounds just about right, but is not factual. And their logical and arithmetic abilities, let’s be frank about it, suck… just like that of humans.

How can this problem be mitigated before it becomes widespread, polluting various fields in the information space, perhaps even endangering human life as a result? Two things need to be done, really. First, inform humans! For crying out loud, do not take the AI’s answers at face value. Always fact check. But of course humans are lazy. A nice, convenient answer, especially if it is in line with our expectations, doesn’t trigger the “fight-or-flight” reflex: instead of fact checking, we just happily accept it. I don’t think human behavior will change in this regard.

But another thing that can be done is to ensure that the AI always fact-checks itself. It is something I often do myself! Someone asks a question, I answer with confidence, then moments later I say, “But wait a sec, let me fact-check myself, I don’t want to lie,” and turn to Google. It’s not uncommon that I then realize that what I said was not factual, but informed, yet ultimately incorrect, speculation on my part. We need to teach this skill to the AI as soon as possible.

This means that this stuff I am working on, attempts to integrate the AI efficiently with computer algebra and a search engine API, is actually more meaningful than I initially thought. I am sure others are working on similar solutions so no, I don’t see myself as some lone pioneer. Yet I learn truckloads in the process about the capabilities and limitations of our chatty AI friends and the potential dangers that their existence or misuse might represent.

 Posted by at 6:21 pm
Apr 262023
 

It appears that I managed to convince Claude, too, to use Google and Maxima more or less correctly. It needs a little more handholding than GPT-4 and makes mistakes more often but hey, nobody is perfect! And the very fact that our AI friends can be taught to rely on external tools is by itself absolutely remarkable.

I admit I am having a blast of a time with our little robot friends. Kid-in-a-candy-store kind of sensation.

 Posted by at 11:41 pm
Apr 242023
 

My nice shiny UI to GPT and Claude is more than just a UI: GPT-4 can use it to perform real-time Google searches and also make use of computer algebra. It also gives the AI geolocation information from my browser.

And now the UI offers feedback, letting the poor user (namely, me) know if GPT-4 needed to consult any of these tools or if it provided a response using its pre-existing knowledge.

I am having more fun working with this thing than I ever thought possible at my age.

Oh, and it’s quite multilingual, too.

English, French and Hungarian for now.

 Posted by at 8:31 pm
Apr 202023
 

Another paper of ours, in all its 36-page glory, was accepted by Physical Review D and I am delighted.

One of the things we do in this paper is the use of symmetric trace-free tensors (STF) that allow us, among other things, to effect a rotation of spherical harmonic coefficients. This approach likely has many uses as a bit of practical math, beyond modeling gravitational fields.

 Posted by at 7:13 pm
Apr 202023
 

I just asked GPT-4 using my freshly developed UI about Starship.

In the background, GPT-4 correctly utilized a facility to perform Google searches and make use of the resulting snippets (I’m sure I’ll find a way to prevent it from referencing those snippets, which are not visible to the user, in the actual answer). Here is the critical part of the conversation that took place in the background:

User: What happened to Starship this morning?

GPT: SEARCH(Starship event on 2023/04/20)

System: Snippet 1: 3 hours ago … The rocket got off the launchpad before exploding above the Gulf of Mexico. This segment airs on April 20, 2023. Audio will be available after …
Snippet 2: UPCOMING. April 19, 2023. STARLINK MISSION · April 20, 2023. Starship Flight Test.
Snippet 3: 6 hours ago … April 20, 2023 … SpaceX launches the inaugural test flight of the integrated Starship and Super Heavy rocket from the company’s Starbase …
Snippet 4: 5 hours ago … April 20, 2023. Elon Musk has called it the “holy grail” for space technology. Starship, a new SpaceX rocket system that launched for the …
Snippet 5: ATCSCC ADVZY 007 DCC 04/20/2023 OPERATIONS PLAN. MESSAGE: EVENT TIME: 20/0200 – AND LATER … THE SPACEX STARSHIP SUPER HEAVY LAUNCH FROM BOCA CHICA, …

GPT: This morning, SpaceX launched the inaugural test flight of the integrated Starship and Super Heavy rocket from the company’s Starbase. Unfortunately, the rocket got off the launchpad but exploded above the Gulf of Mexico during the flight test (Snippet 1, Snippet 3).

In case you are wondering, yes, it knows the current date, too, thanks to the way my UI sets it up.

And yes, Starship blew up. But it blew up after the job of the first stage was nearly complete, at separation, at an altitude of some 40 km. Which means that despite the spectacular RUD (rapid unscheduled disassembly) event, this launch is still a huge success.

Now if we could only convince Elon to spend more time building rockets and less time honing his skills at corporate value destruction at Twitter, pardon me, X Corp…

 Posted by at 3:22 pm
Apr 182023
 

So here is my latest conversation with GPT-4 using my custom user interface. The important features of this implementation are the following:

  1. GPT is instructed to use LaTeX for mathematical output, which the UI correctly renders;
  2. The UI captures and renders SVG graphics that GPT may generate;
  3. GPT can use an external computer algebra tool for accurate computation;
  4. GPT can invoke an external tool to perform Google searches for current information;
  5. Conversations are condensed to ensure that they can run effectively indefinitely without hitting the token limit;
  6. GPT is used efficiently (GPT3.5 used for summaries, GPT-4 for new queries);
  7. The UI is optimized for easy printing (to PDF or hardcopy).

I was able to achieve this level of integration even without plugin-level access, simply by clever “prompt engineering” to ensure that the majority of the time, GPT uses the provided tools effectively. For this, GPT-4 seems essential; GPT3.5 is not really able to grasp the notion of using external tools before constructing its answers.

By way of example, when GPT was asked about the current Bank of Canada interest rate, what happened in the background was the following exchange:

User: What is the current Bank of Canada interest rate?

GPT: SEARCH(“current Bank of Canada interest rate”)

User: Snippet 1: Mar 8, 2023 … The current Bank of Canada interest rate sits at 4.50%, with a 0.25% rate hike announced on January 25, 2023.
Snippet 2: See the Current Bank of Canada Interest Rate graphs at this page. You will read in the news about this rate when the Bank of Canada makes a rate …
Snippet 3: Find answers about questions you may have about the Bank of Canada. What is the current bank of Canada interest rate?

GPT: As of March 8, 2023, the current Bank of Canada interest rate is 4.50%. A 0.25% rate hike was announced on January 25, 2023.

The prompting that I use can of course be improved. The behavior of GPT-4 is not always consistent, sometimes it fails to make use of the computer algebra result or attempts to invoke computer algebra in the wrong place. I suspect that the “right” solution will have to wait until I have plugin-level developer access. But I am very happy that I was able to accomplish this already, in particular that access to Google and the computer algebra tool are completely automated in the background, requiring no user action.

 Posted by at 3:08 am
Apr 172023
 

Here’s something that I’ve been putting off (literally) for years: Upgrading PHP.

Until today, that is.

My server used to run a seriously outdated version of PHP, 5.6. OK, it was still supported (kind of) under CentOS 7 but the writing was on the wall. In particular, the content management systems I use (WordPress, Joomla) were also grumbling.

Why didn’t I upgrade until now? Because I have Web content dating all the way back to the 1990s. Though the issues were trivial, such as using mysql_ instead of mysqli_ for database access, or using ASP-style tags, <%...%> instead of <?php...?> for PHP code, trivial issues still need fixing, and the fixes still need testing.

I finally bit the bullet. I was like this busy robot, assisted with kittycats, but it appears that I managed to pull it off: having done reasonably rigorous testing on backup/secondary servers, I was able to upgrade my main server without much drama so far.

Of course I still worry about the bugs and issues that I have not yet seen, but I am optimistic.

 Posted by at 8:31 pm
Apr 172023
 

This really is just a quick test post to see what’s going on. When I check the Twitter developer portal, my app (which connects this blog to Twitter) no longer shows as “suspended”. What does it mean, I wonder?

So let’s give it a try. Just to give this post some meaningful content, though, here’s a beautiful image generated by MidJourney in response to my request to depict a stray cat with its little robot friend.

If it shows up on Twitter, good. If not… well, frankly, I don’t much care anymore.

 Posted by at 3:40 pm
Apr 142023
 

Your service has violated Viktor’s rules and policies. As a result, it can no longer serve as a destination for my blog entries. For assistance, please just bugger off, along with your thin-skinned “free speech champion” ruler.

To my friends: This is likely my last ever blog entry to be posted to Twitter. In fact, the only reason I am not closing my Twitter account just yet is because there are still a few important information sources there that I follow, which have not yet migrated to Places That Shall Not Be Named like the place whose name begins with Mast and ends with odon, or the Sub place that is also a Stack and now has Notes.

 Posted by at 5:07 pm