The Pros and Cons of a Cashless Society

Over the last month or two, I’ve written a bit about the idea of eliminating cash and moving to a digital payment system. There are some problems with eliminating all cash so my preferred outcome is merely that it be possible to handle fiscal matters digitally while keeping physical currency available for those who prefer it. Over at The Balance, Justin Pritchard has a nice article that sums up the pros and cons of going cashless and takes a quick look at what a cashless society would look like.

The advantages fall into two groups: convenience and less crime. The convenience aspect is mostly obvious. You don’t have to deal with handling, storing, and replenishing cash. It could also make international travel easier by eliminating the need to buy local currency.

The anticrime aspects are a little—but only a little—less obvious. It would certainly eliminate most armed robberies since there would be nothing to rob. It would also eliminate some non-violent crime as well. Money laundering and tax evasion, for example, would be more difficult because there would be a paper trail.

The main problem, as I’ve written before, is that a certain segment of society—poor people mostly—don’t have bank accounts and credit cards so there needs to be a way for them to buy things without cash. Another problem is what happens when the technology fails. If some natural disaster results in a loss of power for, say, a week, how are people going to buy food and other needs? Similarly, if cybercriminals drain your account, what are you going to do until things get straightened out? And, of course, that paper trail that helps prevent money laundering and similar crimes also means that we all lose some privacy.

Pritchard examines each of these benefits and concern so it’s definitely worth reading the article if you have any interest in what a cashless society would look like and why or why not you might want one.

Posted in General | Tagged | Leave a comment

Chris Wellons on PRNGs

I’ve long been an admirer of Chris Wellons’ work and have written about him many times. I almost always learn something new and useful from his blog posts so of course I take notice when he publishes something new. His latest post is about building a linear congruential pseudo-random number generator. If you know anything at all about linear congruential PRNGs you might wonder what there is to say. Quite a bit, it turns out. Although they are very simple—just the recurrence relation \(x_{n+1} = x_{n} × C + A \bmod M\) where \(x_{0}\) is the seed—properly choosing the values of \(C\), \(A\), and \(M\) is important.

A good strategy is to choose prime numbers with certain properties for \(A\) and \(C\) and Wellons shows how easy this is to do using the excellent Calc utility built into Emacs. One of the things I learned from the post was that Calc has a function for the Miller–Rabin primality test. That’s not on the Calc Cheat Sheet so I’d long since forgotten about it and always cranked up my own Scheme version when I needed to check for the primality of large numbers. Having it available in Calc is a big win, especially since I’m probably making the calculations in Calc anyway.

Like all of Wellons’ posts this one is interesting and instructive and definitely worth your time.

Posted in General | Tagged | Leave a comment

What Did They Think Was Going To Happen?

I can’t stop laughing:

I’m evil, I know, but the schadenfreude is killing me.

I don’t feel even a little sorry for these people. They’ve been warned repeatedly about something like this happening. Some organizations, like CERN, saw this sort of thing coming and started investigating alternatives but most just went blithely on assuming everything would be okay. Until it wasn’t. Of course, this is just a blip and by the time you read this Microsoft will undoubtedly have found and fixed the problem. But here’s some questions for those addicted to Microsoft Office:

  1. What happens if something like this occurs when you have a hard deadline? Imagine a law firm, say, that can’t file a brief in time and costs a client their money/freedom/life.
  2. Could your organization survive for an extended time without email?
  3. What happens when Microsoft end-of-lifes Office? Will you be able to read your old Word documents or Excel spreadsheets?

I know I keep harping on this but you must retain control of your data and the means to access it. If you don’t, sooner or later you will experience massive hurt. When that happens, don’t bother moaning about how evil your software vendor is because no one will feel sorry for you then either.

As a practical matter, this means you should use open-source/open-standards software. If you don’t, disaster will eventually strike and it won’t matter that you were using the “industry standard” office suite. Your data will still be gone.

Posted in General | Tagged , | Leave a comment

Ken Thompson Talks About Computer Chess

Someone posted a pointer to a 2005 interview of Ken Thompson by John Mashey in which they discuss Thompson’s work on computer chess. It’s unusual, as far as Thompson interviews go, because it doesn’t mention Unix except to note that one of Thompson’s first chess programs appeared in the some early versions of Unix. The interview concerns itself entirely with computer chess.

One of the things that comes through clearly is that a lot of Thompson’s success came about from his playing around with computers just for the fun of it. Most of us know that Unix came about largely because of that dynamic and his successes with computer chess are the same. It’s clear from the interview that he really enjoyed the computer chess tournaments and that he was doing it not for fame or to win prizes but for fun.

Most people think of computer chess as a premier application of artificial intelligence but, in fact, there’s virtually no AI involved. It’s all brute force. The algorithms are mostly concerned with generating possible moves at each board position, pruning infeasible solutions, and picking (one of) the best of those that remain. Thompson says that the winning computer was usually fastest because it could look at more possibilities in the given time.

An interesting thing I learned from the interview was how computer chess programs handle endgames. It was widely held that a program would never be able to handle endgames. One chess expert even poked fun at Thompson for thinking otherwise. Of course, Thompson took that as a challenge and showed that it could be done. The method is entirely different from that used in the beginning and middle games. It’s worth reading the interview just to see how Thompson solved the problem.

If you have any interest in computer chess or in seeing another example of Thompson’s genius you should take a look at this interview.

Posted in General | Tagged | Leave a comment

Zamansky 62: Magit Forge

Mike Zamansky has posted another great video in his Using Emacs Series. This video takes a look at Magit Forge. It’s available from Melpa and is easy to install. Zamansky shows how easy in the video.

Once installed, it just becomes part of the Magit status panel. From there you can make and respond to GitHub—or other Git Forges, such as GitLab—pull requests from the comfort of Emacs. Zamansky demonstrates making and responding to the PR from Emacs and from GitHub. The only thing he couldn’t do from Emacs was to merge code from the PR into the Master branch.

The video is just shy of 18 minutes so you’ll need to schedule some time but it’s definitely worth a few minutes to watch the video.

UPDATE [2019-11-19 Tue 20:50]: Tarsius provides a pointer to a reddit post on why there is no dedicated merge-pull-request.

Posted in General | Tagged , | Leave a comment

Probably the Worst Password Advice You’ll Ever See

I have no—because there are no—words to describe what a stupid idea this is:

What you won’t know unless you follow the link to the Vice article is that in addition to this terrible advice the bank also charges its customers to change their passwords.

Posted in General | Tagged | Leave a comment

Generating Technical Documents with Org-mode

Mike Hamrick has put up an excellent video on using Emacs and Org-mode to publish nice looking and consistent technical documents. In preparing a document, Hamrick uses literate programming and—although he doesn’t mention it—reproducible research techniques. That’s important, because as he notes, if the code or data used in the document changes, things that depend on that code or data will change as well and it’s important to keep them in sync.

This is exactly the problem—or at least one of the problems—that Org-mode’s Babel was designed to solve. By having Babel embed the results of running the document’s code against its data into the document itself, you’re guaranteed that everything will stay consistent.

Hamrick has a few tricks that he uses to get a nice looking document and keep it consistent. For HTML, he uses Fabrice Niessen’s ReadTheOrg theme, which I’ve written about before, to produce beautiful HTML documents. The other trick he uses that I really liked is to have a file of helper functions that he can call from the text he’s writing. These do things like return the length of a string or the first 2 characters of a string. By using them, he ensures that his document remains consistent even if the data the string is from changes.

Don’t worry about trying to absorb the source code from the video. He’s put all the code and data for the video on GitLab. Similarly, his configuration files are on GitLab so you can see his publishing setup.

The video is 22 minutes, 42 seconds long so you’ll need to block out some time but it’s very much worth it. If you use Org-mode in your writing, you really need to watch this video.

Posted in General | Tagged , | Leave a comment

Zamansky 61: Org-msg

Mike Zamansky has another video up in his Using Emacs Series. This time he looks at writing mu4e emails in Org-mode. Like me, he mostly wants to send plain text emails but sometimes he’d like to send tables, source code, or other rich text. He tried using the built-in org-mu4e-compose-org-mode but it’s deprecated and didn’t do everything he wanted. I’ve had the same experience. I tried org-mu4e-compose-org-mode but it didn’t do many of the things I cared about so I stopped using it.

Happily, Zamansky has found another solution: org-msg. It does a much better job of allowing you to use Org markup in your emails and rendering the results nicely. Of course, to do that it sends your mail as HTML so if you don’t like that, org-msg is not for you.

Take a look at Zamansky’s video to see both org-mu4e-compose-org-mode and org-msg in action. You can see right away why org-msg is the superior solution. In addition to its better rendering, org-msg is more configurable. You can, for example, set it to automatically add a signature or to extract the sender’s name from an email you’re replying to and use it to add a salutation.

If you’ve been looking for a way to use Org-mode with mu4e, be sure to spend a few minutes to watch this video. The video is just short of 15 minutes so it should be easy to find some time for it.

Posted in General | Tagged , | Leave a comment

Generating Gantt Charts with Org-mode

Perhaps because I’ve always worked for smaller organizations, I’ve never had to deal with Gantt charts. I’ve always considered them yet another management fad but that may be due to ignorant prejudice. In any event, lots of people use them and find them useful.

The other day I saw a pointer to a recent video on generating Gantt charts with Org-mode. It turns out to be pretty easy. Once you get the start and end dates into an Org table it’s just a matter of invoking a bit of gnuplot code from a source block to generate the chart.

As I said, I don’t have much interest in Gantt charts but I do like reading about leveraging Org-mode to accomplish tasks that used to take dedicated applications. The video is 13 minutes, 11 seconds so it should be easy to fit it in. It’s worth taking a look at if only to see how versatile Org-mode and Emacs can be.

Posted in General | Tagged , | Leave a comment

The Demise of the Car Key

As I predicted previously, car manufacturers are beginning to jump on the keyless bandwagon. In a way, they’re already there with the widespread adoption of key fobs to open doors and start the engine. The fobs are convenient because you don’t have take them out of your pocket or purse so there’s no fumbling around trying to find your keys. Still, it’s one more thing you have to carry around and in that sense it’s no different from having a traditional key.

What’s needed is a way to unlock your car’s doors and start its engine with your smartphone. According to a CNBC article, we’re on our way. Tesla has already implemented such a system and Lincoln has announced that it will introduce its own solution this fall.

There are, of course, some problems. The first thing everyone thinks of is, “What if my phone dies or gets lost?” That’s not a real concern to me for reasons I’ve explained before but not everyone is as obsessive about keeping their phone charged and in sight as I am. Lost phones or dead batteries could be a real concern for many people.

Another problem that the CNBC article points out is dealing with other people, such as parking valets, using your car. Depending on where you live, that can also be a significant problem. Tesla’s answer to both those problems is a card that can also be used to unlock and start the car. Lincoln’s answer is similar but uses a key fob instead of card. The problem with both those solutions is that we’re back to carrying something extra around.

I’m hoping that the next time I get a new car, the smartphone solution will be available and I can stop carrying around keys. That would be a delight.

Posted in General | Tagged | Leave a comment