Patent Trolls Want To Rewrite The IPR

As we all know, one of the scourges of our industry is the Non-Practicing Entity (NPE) better known as the patent troll. Given that by definition NPEs don’t produce anything except lawsuits, their activities are deeply corrupting of a system that was designed to protect those who do.

One of the few effective ways that companies—especially small companies—have of protecting themselves is the Inter Partes Review (IPR) that provides a quicker, cheaper way of challenging bad patents. The patent trolls hate it, of course, and now the Patent Office is proposing to change the rules to make IPRs useless.

The EFF has an excellent post that explains the issues and what you can do to help. What you can do is to file a comment with the Patent Office opposing this rule change. The EFF’s post has a sample comment that you can personalize to make your feelings known. The PTO is trying to rush this through for some reason so comments close on 2 December 2025. Therefore, it’s important that you act quickly. The EFF post has a link for you to file the comment so the whole thing should take only a minute or two.

If you live in the US, please take the time to make your feeling about the ploy known. As I said, it will only take a minute or two.

Posted in General | Tagged | Leave a comment

Casual CSV

Charles Choi is back with another app in his Casual Suit.This time it’s Casual CSV, a front end for csv-mode. As Choi says, CSV is a seemingly simple format but the rules are really fussy and easy to violate. That’s where csv-model comes in. You can see Choi’s post for some of the amenities it offers but the nicest, in my opinion, is the ability to display the file in a spreadsheet format. Again, see Choi’s post for a screen shot. One of the things that Casual CSV adds is the ability to select a region of rows and export them to an Org or Markdown table (if your flavor of Markdown supports tables).

Choi says that he thinks of CSV files as a data exchange format and avoids editing them if he can. I certainly agree with that. I’m sure I could count the number of times I’ve edited a CSV file on a single hand. Nonetheless, it’s nice to have a tool that can make having to do so a bit easier.

At the end of his post Choi offers a few suggestions to make working with CSV easier. He says you should turn off line wrapping and turning on field alignment and separator auto detection. He provides a bit of Elisp that you can add to your configuration to do this automatically. Now he could only find a way of having me wrirte CSV instead of CVS (the pharmacy). I got it wrong more times than right in my first draft of this post.

Sidenote

Sorry for posting this late. I’m traveling and my network connection is sketchy.

Posted in General | Tagged | Leave a comment

A Revival Of Blogs?

John Lampard over at disassociated has a post about the renaissance of
blogging in general and wonders if niche blogs are next
. I was a bit surprised by that because I wasn’t aware that blogs went anywhere.

Perhaps I’ve got a narrow view of things but I’m not aware of there being significantly less blogs than there ever were and almost all of them are what could be called niche blogs in the sense that they mostly deal with a single subject. There are, to be sure, some general newsy blogs—Instapundit comes to mind—but most seem to be focused on a particular subject or at least a narrow range of related subjects.

Certainly Irreal is like that. Most of its posts are about Emacs, followed by those of some other technical subject, and finally a few rants about my favorite hobby horses. Similarly, I have a lot of blogs in my feed that are like that. Their niches are varied: some are about Emacs, some are about Unix, some about computing in general, some are about writing, and some are about a diverse set of things that interest me.

The type of blog that was literally an online diary—today I had a Reuben for lunch—are happily extinct but it seems to me that you can find examples of most other types. What do you guys think? Does it seem to you that blogs have died out and that niche blog especially are a dying art? I don’t think so but as I said, I may have a narrow view of things based on my working on Irreal everyday.

Posted in Blogging, General | Tagged | Leave a comment

Is Markdown Really Holding You Back?

Brian Hogan has a post that I, at least, find provocative. His thesis is that Markdown—and by extension, Org-mode—are holding you back because they’re not semantic. That’s true, in a way, I guess, but both Markdown and Org-mode are Markup languages. That means they’re concerned with producing publishable content: they consider what things look like on the printed page or the screen.

They are, in their way, semantic languages in that they specify what grammatical object is being described. Markdown, and especially Org, can use that information to display the item in a manner appropriate for the output target. Of course, Hogan wants a stronger sense of semantic where the markup describes higher order meanings such as “step in a process” instead of simply “a bullet item”.

The problem is that that always ends in tears. It ends, in short, in abominations like XML. XML is, in fact, what Hogan really wants but even he knows it’s a horrible solution beloved by exactly no one. Still, he says, it’s necessary because otherwise it’s too hard for AI agents and the like to discern the meaning of the markup.

Forgive me for saying that that’s not my problem. My problem is producing a nice looking document that human beings can read, understand, and enjoy. If AI companies want to get rich by training their AI agents on my content, it’s certainly not incumbent on me to make their job easier.

And by the way, why doesn’t Hogan mention Org-mode. It does, after all, meet a lot of his requirements, have a single definition, and allows the easy—for some definitions of easy—specification of backends that can be semantically aware.

So, as Betteridge’s Law of Headlines insists, no, Markdown is not holding us back. I understand Hogan’s views to the contrary and I certainly don’t accuse him of bad faith but I fail to see how Markdown or Org-mode is holding us back in any meaningful way.

Posted in General | Tagged , | Leave a comment

Infix Versus Prefix Operators

Over at the Lisp subreddit, Combinatorilliance asks if there are any studies addressing the question of whether infix or prefix notation is easier to read and understand. There are, of course, fierce partisans on both sides of the question. We certainly hear lots of complaints from the anti-Emacs brigade about how hard Elisp is to read and in particular how prefix notation is an abomination.

I can read either notation with equal facility so I’m not going to enlist in either camp. At the end of the day, I’m pretty sure that it’s just a matter of what you’re used to. That gives the infix camp a huge advantage because, of course, we all learned to do arithmetic that way. But once you’ve used Elisp—or any Lisp—for a while you get used to prefix notation too and mostly don’t care which you’re reading.

I say “mostly” but truth to tell, I slightly prefer prefix. It is, after all, unambiguous and doesn’t require parenthesis that aren’t already there for other reasons. The precedence is always explicit. And an interesting, if anecdotal, data point is that Lisp originally envisioned an eventual infix notation but the original users liked and preferred S-expressions with their prefix notation.

As for Combinatorilliance’s question, it’s far too underspecified as stated. It’s like asking whether English or Italian is easier to read. You’ll get widely different answers if you ask the question in the United States or Italy. To be well-formed, the question would have to be something of the sort, “Do people with equal facility in reading infix and prefix find one or the other easier to read?” You can already see the problems. Now you have to have an reliable of measure of facility in reading the two notations and once you do, the question seems to lose some of it’s interest. Again, it will come down to a matter of preference rather than inherent lucidity.

Most Emacs users in a programming position are going to have to be adept at both notations so the whole thing boils down to just another holy war like Vim versus Emacs.

Posted in General | Tagged , | Leave a comment

🥩 Red Meat Friday: Cloudflare And AWS

I’m sure that every Irreal reader is aware of the recent Internet outages caused by problems at AWS and Cloudflare. Most of those readers also know that things happen. Servers fail, cables break, backhoes wreak havoc, software runs up against implicit boundaries, and human beings make configuration errors. When those things happen, sites can lose their Internet connectivity. When they happen to services like Cloudflare or AWS, lots of sites can be knocked offline.

Cloudflare and Amazon are big companies with an outsize presence. That makes them an irresistible target for some people. Especially people who make their homes under bridges. An unfortunate number of these people are in the tech press which engaged in a feeding frenzy over unfortunate events that are rare but inevitable.

Sadly, even normally temperate folks can be drawn into the fray. Rik Huijzer, for instance, recommends that “ordinary” people not use Cloudflare because it’s a single point of failure. But what are the alternatives? At the end of the day you have to connect to the Internet and that connection point is just as apt to fail—more likely, actually—as Cloudflare or AWS. That’s true even if you self host: problems like this are almost always going to be at the network end.

I was inclined to dismiss the whole brouhaha with a shrug until Miguel Arroz injected a certain amount of rationality into the discussion and made me realize that reasonable people shouldn’t let this nonsense stand unchallenged. Arroz makes a great point: “Their downtimes being so visible is a consequence of their success.”

Posted in General | Tagged | Leave a comment

Destroying Value Wherever They Go

As I’ve said many times, management is a necessary part of any successful business, especially any large business. After all, someone has to set the goals, make all the mundane decisions, and do all the politics that would bore an engineer to death. That said, there’s a certain type of manager—usually coming from the finance side of the business—that are mainly good at destroying companies. They focus on financial metrics such as stock price and almost always have a poorly hidden contempt for those who make whatever it is the company is selling. They are, they believe, the ones in the know. The only ones who know how things work.

The poster child for this is, of course, Boeing where the finance suits turned the world’s premier aircraft manufacturer into a company so bad at making aircraft that many laymen—let alone those in the business—refuse to fly in them.

Another, less drastic example, is Bell Labs. The Labs were a national treasure inventing things like the transistor, lasers, and, of course, Unix. There was much more as I mentioned in this post. That all ended after divestiture. Our national treasure was destroyed almost immediately by the new management. The Labs still exist—sort of—but when was the last time you heard of them doing something spectacular.

Over at The Unix Heritage Society (TUHS), there’s been a recent discussion over where the 20% rule—the policy that employees could spend one day a week working on their own projects—originated. The consensus appears to be that HP had been doing this for years and was probably first. Of course, the discussion soon devolved into the level of control exerted on engineers at various companies.

Rob Pike—one of Bell Labs stars from the old days—chimed in with this post. The gist was that there was little supervision or direction—at least in the Research department—as long as people were delivering value. Pike offers this explanation for why he left:

The main reason I left the Labs was a change in management resulted in
insistence that I work on things of no interest to me, things that didn’t
even align with my skills, and deliver that message to the people reporting
to me. A complete failure to understand what had made the place so
successful.

Ken Thompson expressed similar sentiments in this oral biography:

It had changed; it was really different … You had to justify what you were doing, which is way above my pay grade.

It is, once again, an example of suits being completely oblivious to the value of the treasure entrusted to them and having no idea of what made it so valuable and successful. It’s easy to say that these organizations need close supervision if they’re to be successful and bring value to the company. The Labs reveal that for the nonsense that it is.

Posted in General | Tagged | Leave a comment

Calc As A Desktop App

As I’ve said many times before, I’m a big fan of Emacs Calc. Try as I might, I haven’t been able to master Calc in its entirety. That’s mostly because it has many advanced features that I seldom or never have the need to use.

Regardless, there are a lot of features that I do use. As long as I’m on my laptop, Calc is the only calculator that I use. I can’t remember ever having a calculation, no matter how esoteric, that it couldn’t make. I use it enough that I have it bound to F10 in Emacs.

Thomas Ingram has done me one better. He’s arranged to make Calc a desktop app by having his computer call Calc from anywhere. He does this on Linux by adding a Desktop file that points at Emacs with an --eval command line option asking it to run full-calc. He has a version for those who—inexplicably—don’t run Emacs in server or demon mode and one for those who do.

Living in the Apple ecosystem, as I do, the Desktop file option isn’t open to me but I could do the same thing by using iCanHazShortcut that I use for macOS keyboard macros. Doubtless there are plenty of other ways. Regardless, in either ecosystem or probably any modern OS it’s possible to call Emacs and ask it to run calc.

I always have Emacs running so I probably won’t implement Ingram’s solution unless I find myself often needing Calc when I’m not inside Emacs. As I said, it would be easy to add it to my iCanHazShortcut app if I do. If you don’t spend most of your time in Emacs, as I do, Ingram’s solution may be just what you need to keep Calc at your fingertips.

Posted in General | Tagged , | Leave a comment

A Reminder About org-clone-subtree-with-time-shift

JTR over at The Art Of Not Asking Why has a useful reminder about something that I, at least, always forget about: org-clone-subtree-with-time-shift. The idea is that you have something scheduled on a certain day but want to repeat that event regularly. You can add a repeater to the entry that will repeat it at fixed intervals. For example, if you have a weekly meeting on Friday at 10 AM you can add an entry for that meeting and the repeater +1w and the task will appear every Friday.

You can also clone an entry a given number of times. For example, suppose you have a class everyday at 8 AM for 3 days. You can make an entry for the first day and then use org-clone-subtree-with-time-shift to add two more entries on subsequent days.

Scheduling events with Org mode really is a lot more flexible than you might imagine. The org-clone-subtree-with-time-shift function is an example. You can take an existing entry and clone it any number of times at any given fixed interval. It’s much easier than trying to do this by hand.

There are, of course, some nuances so be sure to take a look at the Docstring for the function.

Posted in General | Tagged , | Leave a comment

Burst-driven Development

Most serious Emacs users are familiar with Bozhidar Batsov. He’s a blogger and the developer/maintainer of several OSS and Emacs projects such as RuboCop, CIDER, Projectile, nREPL, and many others. And, of course, he has a full time job. That brings up a question that Batsov says he is often asked: “How does he find time to work on all these projects?”

He answers that question in a recent post on his (think) blog. The secret, he says, is “burst-driven development”. By that he means that while he may keep an eye on his bigger projects he will only work on one or two at a time in a burst of effort. During those periods, he may work on a project furiously for several days or weeks and then move on to something else. The important thing for him, he says, is to not try to work on several projects in parallel.

This type of schedule may seem less than optimal for project development but Batsov has learned a few things that suggest it’s good enough:

  • Few problems require immediate action
  • There can be times when you don’t have any good ideas for improving a project
  • Sometimes a project is simply mostly done

That last item is especially telling. Often I’ll see complaints about some project saying that it hasn’t had any updates for a long time. But sometimes a project solves the problem it was written to address and there is little to add other than keeping up with OS changes or something of the sort.

In any event, if you want to see how a prolific developer handles his projects, take a look at Batsov’s post.

Posted in General | Tagged | Leave a comment