Jul 032019
 

There is always a first time for everything.

I have spent more than 56 years on this planet so far, but today was the first time that I managed to lock myself in a bathroom.

I was heading to see my dentist, in a bit of a hurry when I went to the bathroom one last time and slammed the bathroom door. (I was angry because I missed the bus that would have taken me to my destination comfortably.) When I was trying to exit the bathroom, the doorknob did not function. It rotated freely, and the door remained stuck.

My wife was fortunately at home. Unfortunately, the doorknob on the other side of the door didn’t do a thing either.

I was trying to force the door open using makeshift implements. My wife was trying to do the same from the other side.

After a few minutes, I realized that I would not be able to make it to the dentist on time, so I phoned their office. They were very nice and understanding. What they thought about me is another matter.

After another fifteen minutes I was ready to give up. I resigned myself to having to spend half the afternoon in a tiny bathroom (a tiny powder room, really) as I called our condominium manager for help.

But just then, while I was talking to our condo manager, my wife succeeded. With the help of an axe and a kitchen knife, she was able to force the door open. I was free! And the door was not damaged too badly either.

Grabbing my screwdriver, I disassembled the door lock. I found that an essential part, the spindle, became detached from the knob to which it is normally attached, and ended up completely inside the other knob. Thus it could no longer perform its essential function of actuating the latch. The problem was trivial to fix.

Thank goodness I was not alone at home. Thank goodness my wife didn’t give up so easily and managed to free me. And thank goodness I am not claustrophobic.

 Posted by at 5:07 pm
Jun 052019
 

And before I forget: Last week, wearing my release manager hat I successfully created a new version of Maxima, the open-source computer algebra system. As a result, Maxima is again named one of SourceForge’s projects of the week, for the week of June 10.

The release turned out to be more of an uphill battle than I anticipated, but in the end, I think everything went glitch-free.

Others have since created installers for different platforms, including Windows.

And I keep promising myself that when I grow up, I will one day understand exactly what git does and how it works, instead of just blindly following arcane scripts…

 Posted by at 1:50 pm
May 152019
 

Technology changes. Things that were once revolutionary and new eventually become obsolete.

Sometimes with surprising rapidity.

Which is how I ended up, years ago, buying things that were ultimately not only never used, but were never even taken out of shrink wrap.

Take this 3-pack of high quality SONY 90-minute audio cassettes. When I bought them, I had little doubt that they would be used, and soon, and that future purchases would follow. Never happened.

Or how about this answering machine tape? Back then, I needed them. After all, you never want to be without a spare tape for your answering machine. Except… Well, never mind.

Perhaps a little more surprising is this box of blank DVDs. I have several more boxes of different types, but they have been opened and at least a few disks were put to use. But this box? Completely unused, in the original shrink wrap. Not too long ago, burning a CD or a DVD was something I did almost daily. But when I built new computers a couple of years ago, I no longer even bothered putting DVD drives in them. I have an external USB drive that works fine for software (mostly operating system) installations. And I can still use it, e.g., to rip a CD. But burning one? What for? My USB dongle on my key chain has many times the capacity of a DVD.

I still have never-used floppy disks, too, but not in unopened, shrink-wrapped packages.

Looking around, I am trying to guess what technology will be next, going the way of the dodo. Hard drives, perhaps? Sure they’re being replaced by SSDs but they still offer a price advantage and better reliability as long-term storage. Desktop computers? Unlikely, for content creators or developers like myself. Or maybe things are settling down a bit? I don’t know.

For what it’s worth, I also have a record player and a VCR next to my desk. The VCR was a super-expensive, top-of-the-line VCR that can handle all TV standards, which is why I bought it. I used it to digitize many tapes, including PAL/SECAM tapes from Europe. I have not used that VCR in many years; not even sure it still works. Its display does show the time, but it is very faint. The record player, however, is relatively new. Vinyl has made a comeback of sorts, so record players are being made again. I didn’t buy into the new (retro?) vinyl craze, but we did have a few older records that we liked very much, and which were not readily available on CD, so the player was needed to digitize them as well.

 Posted by at 12:50 pm
May 022019
 

I meant to post this yesterday, but I didn’t have the time. Besides, it is not something you post without permission from the other party involved. The other party being my beloved wife Ildiko, that is.

You see, yesterday marked the 40th anniversary of us meeting, on a cloudy, rainy May 1 in the town of Győr, Hungary, where we were both attending a national high school chemistry competition.

And it so happened that a short while (maybe just a few weeks?) later, our high school class had a day trip to the fine town of Pécs, Ildiko’s hometown, so she and I had a chance to meet again. And one of my friends had a Polaroid camera:

Darn, I was so much thinner than today.

Ildiko, on the other hand, looks just as beautiful now as she did on that late spring day in 1979.

 Posted by at 5:56 pm
Apr 092019
 

My research is unsupported. That is to say, with the exception of a few conference invitations when my travel costs were covered, I never received a penny for my research on the Pioneer Anomaly and my other research efforts.

Which is fine, I do it for fun after all. Still, in this day and age of crowdfunding, I couldn’t say no to the possibility that others, who find my efforts valuable, might choose to contribute.

Hence my launching of a Patreon page. I hope it is well-received. I have zero experience with crowdfunding, so this really is a first for me. Wish me luck.

 Posted by at 11:09 pm
Apr 012019
 

Dear Google+: It was a pleasure and a privilege knowing you. This will be my last blog post that will be shared on Google+.

Sure, I used you mostly just to view cute cats (Caturday, Cats of Google) and occasionally, interesting news on Linux and Android, but still.

It was on Google+ that I earned my most famous follower. I never bragged about it as quite probably it was just a staff mistake, but even so, it was nice to count you among my friends, Mr. Obama.

And the site had so much potential. The potential to become a more intelligent, less gossipy social network, dominated by meaningful discussion, not fake news.

Oh well. It was nice while it lasted. All good things do come to an end eventually. Thanks for the memories.

 Posted by at 8:54 pm
Mar 302019
 

Content management software that I use, Joomla! and WordPress in particular, have been complaining for a while now that the PHP version that runs on my servers is outdated and potentially unsecure. Not exactly true, as PHP 5.4 remains part of the official Red Hat/CentOS release, but it would certainly be prudent for me to attempt an upgrade.

I tried to do just that last night, on a test server. And it was a miserable failure, a waste of many hours that I will never get back, to make no mention of the heightened risk of cardiovascular disease due to my elevated blood pressure caused by all that frustration.

The relatively easy part? PHP 7 complaining that its just-in-time compilation feature ran out of memory. Easy-peasy, I can disable JIT. Check.

But then: several of my Joomla! sites refused to run, with a cryptic and ultimately meaningless error message and nothing in the logs. And at least one Joomla! site just got itself into an infinite redirect loop. But why?

I tried many things. I kept looking for answers on Google. Nothing worked. Eventually I took two of my Joomla! sites that are very similar in nature, and began comparing their settings, side-by-side. One worked, the other didn’t. Why?

I then stumbled upon a custom Joomla! module, one that I wrote to support some ads that appear on my sites. This module was installed on the site that failed, but not used on the other. I disabled the module and, presto, the site was working with PHP 7. I re-enabled the module and the site was dead again. So… why?

Well, the module contains some PHP code. Which, after some preamble that allows it to connect to the internal data structures of Joomla!, begins the real work by accessing the MySQL database that contains the actual ads:

$conn = mysql_connect("localhost");
mysql_select_db("www");
$res = mysql_query("SELECT PAGEID,ADTEXT FROM ...

Oops.

You see, mysql_ calls have been deprecated and REMOVED from PHP starting with version 7.

And I have hundreds, if not thousands of lines of legacy code* (including, e.g., my calculator museum at rskey.org) that rely on this old library.

So I guess that PHP 7 upgrade will have to wait a while longer. Looks like I have no choice but to rewrite the affected pieces of code everywhere, as there is no other long-term solution. (Even if I find a third-party PHP plugin that re-enables mysql_ codes, how long will that continue to work? How reliable will it be?)

What a muckup. Grumble. And I do have other work to do.

 Posted by at 10:40 am
Mar 282019
 

Even as Facebook is battling white supremacism and fighting accusations of racial profiling, there is more nonsense going on.

In the past few days, I received several Facebook requests from accounts purportedly owned by young women, whose profiles contain sexually explicit, rather pornographic images and videos.

Here is one of the mildest ones (the majority of the images in this and other accounts from which I received friend requests were far, far more explicit in nature, including images depicting intercourse):

I do not wish to be a prude here; I am, after all, a middle aged male in relatively good health, and certainly not immune to, ahem, shall we say, visually stimulating images (though I admit I was never a fan of hard-core pornography. Not my cup of tea.)

But these Facebook accounts are obviously not accounts owned by bona fide young women trying to seduce older, happily married males like myself. They are probably overweight middle-aged male scam artists doing their shady business from their parents’ basements. Or worse yet, organized crime operating out of shady boiler rooms somewhere in Eastern Europe or Asia.

Thanks but no thanks. I have presently no desire to break my marital vow, but even if I did, there are better, safer ways.

As for these friend requests, I just block them and report the accounts to Facebook.

 Posted by at 2:08 pm
Feb 112019
 

What do you do when you are confronted with racism when you least expect it?

No, not the overt kind. That would be easy. Obviously if someone used the N-word to descibe a black person, the K-word to describe a Jew, or similar slurs in my presence, I would tell them in no uncertain terms to get out of my face with that caveman racist attitude.

But what if it is something more subtle, more insidious?

Like, when a close friend explains to you how it is not racism but bad experience that turned them suspicious towards black people. That they used to be color-blind until they were defrauded or otherwise mistreated by black people one too many times.

At first, you think there is hope. You have known this person for a long time. The negative experiences are undoubtedly real. And you know that your friend is, deep inside, a good person. A rational person who can be convinced not to generalize from a few negative experiences and condemn an entire population of human beings on account of the color of their skin. To judge people by their character instead.

You bring up historical examples, pro and con. People from oppressed minorities who demonstrated the strength of their character by the dignified way with which they stood up to oppression, such as Frederick Douglass or Nelson Mandela. Or people who used twisted logic and a false sense of victimhood to justify how they turned from self-professed race-blind innocents into vitriolic racists, such as Adolf Hitler during his years in Vienna.

But then something snaps in you. There comes the moment of realization. It is all pointless. Your moral outrage is ignored or worse, filed away as a hysterical outburst of excessive political correctness, for which you should probably apologize. Your arguments are dismissed because, you know, you were lucky and avoided all those negative experiences and you can afford to remain an idealist unlike your more experienced, more streetwise friend. You try to explain to your friend that adopting a racist attitude means being part of the problem, not part of the solution. To no avail; in fact, you learn that the only reason your friend seemed to favor politicians of a more liberal persuasion is the fear of losing personal benefits. When it comes to race, their views align with the worst.

And it becomes clear at one point that your friend’s dream life is in an affluent, whites-only gated community.

What do you do then? Pretend you haven’t heard anything? Throw away decades of friendship? Or maybe take the easy way out and just turn into a card-carrying Nazi yourself?

I could, of course. I am a tall, middle-aged, white male with (as far as I know) no questionable Mischlingsblut in my veins. I even had some military training. I could click my heels, raise my arm and shout, Sieg Heil!, faster than most semi-literate, drunken Nazis. Jawohl, mein Führer, wir verteidigen die weiße Rasse. And tall as I am, I would look especially impressive in a KKK hood. And then I would have no problems with racism anymore. I could go on and just despise and distrust blacks, Muslims (especially black Muslims, I guess) Asians, Native Americans, Jews, you name it. Anyone who is different from my superior race. Any lesser untermensch. Including, quite possibly, my dear friend.

Trouble is, I still prefer to see a human being, not a monster, staring back at me from the mirror when I brush my teeth in the morning.

So no. Not even from my best, dearest friends. No matter how well-justified they feel in their views. No matter how strongly they feel that they are the victims here.

No, my white friends. You are no more victims of visible minorities than Hitler was a victim of Jews.

And the time to speak up is now. Even if my friends think that I went berserk with political correctness.

No matter how close a friend or family member you are: If you think your racist views are justified, please just bugger out of my sight.

I like to think of myself as a low-maintenance friend. You don’t have to come over to fix my computer. I don’t ask you to help me move. I don’t demand to be invited to your parties (in fact, I prefer not to be invited at all, being the introvert that I am.) I don’t show up, unannounced, to eat your food, crash on your couch, or borrow your car.

But there is one price for my friendship and that, you must pay. No, not to give lip service to some politically correct doctrine. No, I am not asking you to go all kumbaya with people with whom you feel uncomfortable. I am not asking you to donate all your wealth to people you distrust. The price is that I ask you to think. To imagine what it would be like if it was you who lived in a society that judged you by what others have done, simply because you share a visible characteristic with them. To have no place to go, because prejudice follows you everywhere. To be treated with suspicion at all times.

And then think about your duty as a human being to rise above petty, everyday grievances. To consider, at the very least, the possibility that you, too, bear some responsibility to not make our society worse. And don’t dig your heels in deeper. Don’t wallow in your sense of victimhood. Don’t come up with new justifications for your prejudice.

And for heaven’s sake, do not make your racism worse by calling me a blind idiot. Do not insult my intelligence with the cheapest racist excuse I ever heard, the last refuge of the intellectually incompetent hatemongerer: Do not tell me that I don’t see it the way you do because I have not experienced just how bad it really is where you live. Even if I am inexperienced in these matters, there are plenty of people in your neck of the woods who are not following you down that racist rabbit’s hole.

I am not asking much. I am not asking you to change. I am just asking you to think. And to stop justifying the morally and intellectually unjustifiable. Do the bidding of your inner demons if you must; but don’t try to pretend that they are angels. Not to me, not to yourself.

Can’t do it? Too bad. I will not apologize for this. I will not ask for your forgiveness. This is the price of my friendship. In this day and age, when I am confronted with racism, especially from people closest to my heart, there is one thing I cannot to: I just can’t not speak up.

 Posted by at 6:58 pm
Feb 032019
 

I have been fancying myself as a TV repairman (I know, I know, a completely useless skill set in 2019) ever since I successfully repaired a 25-year old SANYO television set. I figured I would repeat that success with an even older television: my first television set in Canada, a 1986 Mitsubishi CS-1454C portable television. (By “portable”, they mean it weighs less than about 25 pounds and it can be hauled from one room to another without the use of a forklift.)

The problem seemed simple enough: The TV set refused to turn on. Obviously, I expected a faulty power supply or something similar, maybe due to an aging capacitor somewhere.

Alas, nope. The power supply was doing what it was supposed to do, supplying low voltage power to all the relevant parts, including the integrated circuit that was responsible for activating the relay that, in turn, would have turned on the set. But the relay never got the signal that would have turned it on. The transistor that controlled the relay never got the signal either.

Why? Well, the signal to that transistor comes from a microchip:

It comes from pin 28 of a chip labeled μPD-1709CT. What is this chip? Well, it turns out that it is, in fact, a 4-bit microcontroller with about 1.5 kilowords of ROM, factory programmed by the chip manufacturer (NEC) with code supplied by the customer.

I checked, and the microcontroller has everything. It has power, it has a clock signal. It scans the front panel keypad with beautiful, nice square waves on my oscilloscope. The one thing it does not do is outputting a signal on pin 28 when I press the Power button; which, in turn, would have provided a signal for the relay, which in turn would have energized the rest of the unit.

I am therefore forced to conclude that this television is not repairable. Even if I found a replacement chip, chances are that unless it is from the same unit, its program code would be incompatible. (The same family of chips has been used, e.g., in car entertainment systems.) Since I doubt that the manufacturer still provides support for a unit that was sold 32 years ago, the only possible source for a replacement chip would be another, cannibalized television set.

And, of course, the thing is just not worth the effort. An old style, analog television set with a CRT? Years older than half the human beings presently alive on Earth? Still, it was worth a try… I like fiddling with these old devices. Although I much prefer success stories, of course.

 Posted by at 6:12 pm
Jan 092019
 

So I figured I’d try Office 2019. It came out a few months ago, and I have the MSDN license and everything, so why not give it a test drive. I downloaded the DVD installation image, and ran setup.

Immediately, I was presented with a cryptic error message:

What the devil does this mean? I am installing from a Microsoft-provided DVD image. Surely, it has all the required files?

The “Go online…” link was of no use. Just some generic stuff about installation failures.

A quick online search, however, revealed the culprit: Office 2019 won’t install unless Office 2016 is removed first.

Not something I am inclined to do at this time, not without thoroughly testing Office 2019 first to make sure that it behaves the way I like it (I am especially worried about Outlook and my encrypted imap connection, which can be a bitch to set up.)

In any case… in the software industry, 30 years ago already we had installers that gracefully recognized an existing installation of the same package, and offered either an upgrade or a side-by-side install. Or, worst case, they offered a meaningful error message, informing the hapless user that the prior version must be uninstalled first. Because, you know, chances are anyone installing Office 2019 might already have a copy of Office 2016 installed on their system?

I guess none of that is needed in 2019. After all, what kind of a dumb user am I if I don’t immediately understand Error code 30182-1 (2)?

 Posted by at 9:25 pm
Jan 062019
 

I almost forgot: a couple of months ago, I was interviewed over the telephone by a journalist who wanted to know my thoughts about one of my favorite moments in manned space exploration: The Apollo 8 “Genesis” moment, the reading of the opening verses of the Old Testament, on Christmas Day, 1968, by the astronauts of Apollo 8 as their spacecraft emerged from behind the Moon.

Today, something reminded me of this interview and I did a quick search. Lo and behold, there it is: My words, printed in The Boston Globe on December 23, 2018:

“It was a beautiful moment, and Genesis is part of our Western cultural heritage,” said Viktor Toth, an atheist and a senior research fellow at Carleton University in Ottawa, Canada, who played the lead role in the investigation of the Pioneer Anomaly, the mysterious acceleration of the Pioneer 10 and 11 spacecrafts in deep space. “This was an awe-inspiring thing: Human beings for the first time cut off from the Earth, and then they reemerged and saw the Earth again. The message was entirely appropriate.”

Though shortened, this pretty accurately reflects what I actually said during that roughly 10-minute conversation with the journalist.

 Posted by at 10:12 pm
Dec 302018
 

This is Master Rufus.

Master Rufus would like to wish a Happy New Year to all our family, friends, indeed all good people who stumble upon this blog post.

 Posted by at 11:58 pm
Dec 242018
 

A quote from 50 years ago is the most appropriate one tonight, considering that our world is just as troubled as the world of 1968:

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 5:25 pm
Dec 142018
 

The news came a few days ago: Former Canadian diplomat Michael Kovrig has been arrested in China, in apparent retaliation for the arrest of Huawei’s CFO Meng Wanzhou in Vancouver.

Michael WHAT, I asked? Kovrig? As in, K-O-V-R-I-G?

You see, Kovrig is not at all a common surname. And it so happens that my stepfather’s last name is Kovrig.

Not just that but… we know another Kovrig (no relation, none that we know anyway). My parents came to know this Kovrig as a result of a chance encounter, but ultimately, they helped him purchase an apartment in the same building where they live. So this Kovrig lives two floors above my Mom and my stepfather, in Budapest.

And Michael Kovrig, former Canadian diplomat, is his nephew.

A few years ago, I was about to be offered an opportunity to take part in a Chinese research effort. My participation would have involved access to data that Chinese authorities might have viewed as military secrets. I backed out for this very reason. The last thing I needed in my life was the possibility, however remote, that I would end up in Chinese custody, accused of espionage. Later, I was wondering if I simply made a fool of myself; Was there any real danger that I might get into trouble, or was I simply pretentious?

Kovrig’s arrest is a wake-up call. This time, lightning struck uncomfortably close. Much as I regret not taking part in that very interesting and promising piece of research (and it would have been an honor to be invited) I am glad I backed out.

I hope Kovrig is released soon. I hope his arrest helps others realize that beneath the spectacular economic growth and the undeniable successes, China is still fundamentally a communist police state, whose methods of choice are bullying and violence.

 Posted by at 5:07 pm
Dec 042018
 

Between the tragic, sudden loss of our cat Kifli and the unexpected arrival of our new cat Freddy, there is also our now oldest cat Rufus.

Rufus is a gentle giant. For a few days after Freddy’s arrival, he seemed a bit depressed, but I think he mostly got over it. (Just to be sure, we had his bloodwork done at the vet; there were no concerns.) Now that they’ve known each other for ten days or so, it seems that Freddy and Rufus are getting along quite well.

Incidentally, the shredded fabric that is seen in the lower left of this picture is fabric hanging from the edge of a sofa. A very comfortable piece of furniture, to be sure; sadly, also a cats’ favorite when it comes to regular claw maintenance.

 Posted by at 8:41 pm
Nov 292018
 

Supposedly, at one year and two months, a kittycat is fully grown.

But in case we mistook “fully grown” for “adult”, Freddy is here to remind us of our mistake.

I think this picture illustrates my point well. Although he isn’t actually misbehaving at the moment the picture was snapped, you can see it in his eyes. Something is about to happen. Soon, there will be a cat where no cat should be, or there will be things flying that were supposed to sit, undisturbed, on tables or shelves.

But this is why cats are so much fun.

 Posted by at 2:51 pm
Nov 232018
 

It all began with a short discussion after Kifli passed away. My wife was wondering if we’d ever find a pair of kittens like Kifli and Szürke.

On a whim, I decided to check out the Ottawa Humane Society’s adoption site. They have had littermates available for adoption in the past. Not this time, though.

However, I did stumble across a photo of Freddy, a 14-month old fawn tabby not unlike Kifli.

Silly, we said. You should not be thinking about adopting a cat less than 24 hours after you lost one, we said.

Nonetheless, we decided to check this cat out. And when he was out of his cage, first thing he did, he climbed onto my wife’s back, to perch there.

How can you say no to a cat like this?

So world, this is Freddy. Freddy, say hello to everyone. And we’re back to being a two-cat household. While we still grieve over the loss of Kifli, instead of crying, we smile as we endure this new cat’s antics, while he is discovering the house.

 Posted by at 7:44 pm
Nov 222018
 

About a week ago, our seventeen-and-a-half year old cat Kifli lost his appetite and started to have a bit of a diarrhea. Nothing too concerning, but we decided to take him to the vet come Monday.

Kifli in happier times sitting on top of a server he should not have been sitting on. May 2018.

By Monday morning, things were obviously more serious as Kifli stopped eating. He was still drinking though, so we were not too concerned. But an urgent visit to the vet was no longer merely optional. Still, our main concern at this time was to request the vet to clip Kifli’s claws, because he always managed to get them stuck in pieces of furniture (not to mention our own rather tender skin.)

But then, once the bloodwork came back on Tuesday, the vet told us that the symptoms were those of pancreatitis, quite possibly a result of lymphoma or some other form of cancer. The prognosis was poor.

An ultrasound exam was recommended. The ultrasound specialist was booked for Wednesday evening.

By Wednesday morning, Kifli was doing a lot worse, so I called the vet and took Kifli there in the morning, to make sure he is under proper medical care. He received some fluids. When I went to pick him up in the evening, his belly was shaved (for the ultrasound) and he was still very wobbly from the anesthesia. The vet, in fact, was concerned and recommended a stay at an overnight hospital nearby. However, when it became clear that the kitty may not live to see the morning, we opted to keep him home instead, closely monitoring him for signs of distress.

When we got home, Kifli was agitated. He released a few drops of urine. We presented him with a litterbox near his basket, but that was not good enough for him; though wobbly and groggy, he ambled and stumbled downstairs, to use the regular litterbox (more or less successfully.)

The night was uneventful. Kifli even seemed to recover a little. But in the morning, his condition was getting worse.

But then, a ray of hope! A cytology result arrived late in the morning, and it showed that the likely cause was a massive bacterial infection, not cancer. So suddenly, instead of planning for euthanasia, we were discussing a treatment plan with the vet. An aggressive plan involving multiple medications and a feeding tube (and no guarantee of success) but… well, a very thin, anemic ray of hope, but a ray of hope nonetheless. So I took Kifli to the vet again, to get him prepared for the mild anesthesia required to insert the feeding tube.

The call from the vet came much sooner than I expected. Not with good news. Kifli was collapsing. He already had a seizure, and he was now breathing pure oxygen, kept alive by a heated blanket as his heart rate and body temperature were dropping both. We knew what this meant. A final trip to the vet, from which we would come home with an empty cat carrier.

As we made our way through an unusually heavy traffic jam (a combination of afternoon traffic and a road closure), the vet called us again. “What would you like me to do in case Kifli goes into cardiac arrest?” His condition was that bad. I asked the vet to use her best medical judgment.

Kifli was barely alive when we got there, about ten minutes later. We had one final discussion with the vet and then agreed to the inevitable. My hand was on Kifli’s chest when he received the first injection. His little heart stopped instantly, without waiting for the second injection. It was truly his time.

What I feel right now is unbearable heartbreak, but I know that soon enough, I’ll be able to smile again as I recall his antics. He was… quite a cat, that’s all I can say.

Good-bye, Kifli. Jó éjszakát.

 Posted by at 4:06 pm