Org Cite

As I’ve said before, one of the worst parts of preparing a paper for publication is dealing with the bibliography. LaTeX has reasonably efficient ways of inserting and referencing citations but there’s been no effective way of using them from within Org. John Kitchin pretty much solved this problem—at least for his use cases—with org-ref but some in the Org-mode community thought a more general mechanism was needed.

Enter Org-cite. It’s a general method for dealing with citations within Org and although it hasn’t been officially released yet, it’s been merged and is available for those who want to try it out.

Timothy over at This Month in Org has a very nice summary of the new system in his Introducing Citations article. Org-cite is meant to be a framework for developing citation systems specific to a user’s workflow. John Kitchin has already started porting the functionality of his org-ref system to org-cite with org-ref-cite. Kitchin has a video out the describes his new package that Irreal will consider shortly but it’s still a work in progress. Kitchin says it’s not yet ready for MELPA but will probably appear there shortly.

Org-ref is already a great package for dealing with citations and cross references but org-cite standardizes citation processing in Org and I expect that all the great functionality of org-ref will eventually find its way into org-ref-cite. These packages make it less and less necessary to write your papers in anything but Org. Even when LaTeX tweaks are needed, they’re easy to add directly into the Org file. Preparing, if not actually writing, papers is getting easier and easier.

Posted in General | Tagged , | Leave a comment

Malware Using “Exotic” Languages

I tagged this post Security but it might just as well have been tagged Humor. ZDNet is reporting that malware authors are using “exotic” languages to avoid detection by the antivirus folks. If, like the majority of the technical press, you don’t know anything about software engineering or programming languages and their compilation that might seem reasonable. If you actually know how these things work, a bunch of questions are no doubt popping into your head.

For one thing, you might wonder how changing the source language is going to make the binary more difficult to detect. Sure, a given algorithm will compile down to slightly different binary code but how is this any different from day-to-day changes to the code or purposefully rearranging it? A large part of the antivirus engineers work is keeping up with new versions of malware binaries as they appear.

The report the story is based on requires registration to download so I didn’t bother but I’d be surprised if its conclusions match the story’s. Judging from what the story says, the real change is in implementing small loaders and droppers to install the malware but these could just as well be written in C like most of the malware probably is.

The really amusing part of the story, though, is what constitutes “exotic languages.” These include Go, D, and Rust, the language just voted most popular and loved by developers. I’d be very surprised if the reason malware authors are trying these languages isn’t for the same reason that the rest of us do: they wanted to try out new stuff and see if maybe these new languages made their development easier.

Posted in General | Tagged | Leave a comment

Eight Reasons Emacs Is The Best Editor

Alex Wulff has an interesting post that lists eight reasons that he believes shows that Emacs is the best editor. The Emacsistas on Irreal don’t need any reasons or posts; they’re already secure in their belief of Emacs’ supremacy. Still, it’s interesting to see what draws other users to Emacs.

Here are the eight things that Wulff says convinced him:

Emacs is fast
The super-efficient keyboard shortcuts for cursor movement and editing functions means that editing on Emacs is faster than on other editors.
Emacs is Customizable
This is, really, what makes Emacs so special.
Emacs is available on just about every OS
Every Unix system supports Emacs, of course, but so do others such as Windows.
Emacs is easy to learn
A lot of Emacs users will probably take exception this but only because there is so much to learn. Learning to perform any specific editing operation is pretty much the same as for any other editor.
Emacs commands are available in Unix
Any program using the readline library, such as Bash, has built-in support for many of the Emacs commands. It’s even better in macOS where basic Emacs commands are available system wide. Although Wulff doesn’t mention it, you can add many other Emacs keystrokes to macOS.
Emacs buffers can contain almost anything
“Anything” includes shell prompts, a Python REPL, a Common Lisp IDE, a mail client, an RSS reader, a music player, and many other things besides simple text.
Emacs is old
This fact is often cited by the heathens as a reason to eschew Emacs but, as Wulff says, it actually means that it’s had many years of loving attention from its developers in the service of perfecting it.
Games
Not something that I care about but many Emacs users enjoy taking a break to play Tetris or one of the other games. If nothing else, it shows how flexible the Emacs customization environment is.

Wulff has more to say on these things so take a look at his post to get the whole story.

Posted in General | Tagged | Leave a comment

Techdirt Steps Up

Everyone, including Irreal, is always yap, yap, yapping about adtech and tracking ads but few actually do anything about it. To be fair, there’s little most of us can do other than post screeds and write letters to our congressional representatives about it. Techdirt, however, is an actual Website that serves ads and has chosen to do something.

Techdirt tired of the crappy ads that (apparently) all the ad brokers provide and most of all tired of dealing with Google, who, at the end of the day, is behind all the ads and their abuses. Even more disturbing, Google constantly complains about any content that disparages Google and threatens to retaliate by withholding the ads that sites depend on to fund their operations.

Techdirt tried switching ad providers but it didn’t help because they all depend on Google. Finally, they just stopped serving ads. That’s a big deal because it leaves them with no income other than what their grateful users are willing to contribute. They could, of course, put up a paywall, but they didn’t want to restrict access to their site so they fell back to—effectively—providing a tip jar and offering to deal one-on-one with advertisers who want to provide quality, non-tracking ads that don’t annoy and abuse their readers.

This is literally putting your money where your mouth is and I wish them success. In the end, change will come only if more sites take a stand like this. John Gruber agrees and celebrates Techdirt’s actions. If you use and enjoy Techdirt, consider giving them a few dollars.

Posted in General | Tagged | Leave a comment

Editing Browser Input in Emacs

One of the downsides of being a Safari user is that the extension architecture doesn’t support the functionality that other browsers do. In particular, where other browsers allow you to call out to Emacs when editing fields in the browser, this doesn’t seem possible with Safari. That’s too bad because I really hate dealing with text outside of Emacs. None of my muscle memory works and all those editing habits and shortcuts I’ve built up over the years can’t be used.

Happily, Abin Simon has a workaround. He starts with how you’d do it manually—copy the text to the clipboard and paste it to an Emacs buffer, add to or edit the text, copy the edited text back to the clipboard and paste it into the browser buffer—and automates the process. That turns out to be easier than you’d think because he leverages Hammerspoon to do the system part. The Emacs part is just a bit of simple Elisp.

This isn’t as nice a solution as a browser plugin but it’s a decent workaround. Simon’s workflow is centered around interacting with Github but it’s easily adaptable to other workflows.

Posted in General | Tagged | Leave a comment

Managers and Remote Work

It can be argued that COVID-19 has forever changed the way we work and the nature of the employer/employee relationship. Many managers stuck in the previous mindset are now struggling to justify their demands that workers return to the office. Many, or even most of the workers, are not convinced and the battle wages on.

Over at The Atlantic, Ed Zitron considers why managers fear remote work so much. It’s not pretty and if you’re a manager you probably won’t like it. This quote captures his argument nicely

“Remote work lays bare many brutal inefficiencies and problems that
executives don’t want to deal with because they reflect poorly on
leaders and those they’ve hired. Remote work empowers those who
produce and disempowers those who have succeeded by being excellent
diplomats and poor workers, along with those who have succeeded by
always finding someone to blame for their failures. It removes the
ability to seem productive (by sitting at your desk looking stressed
or always being on the phone), and also, crucially, may reveal how
many bosses and managers simply don’t contribute to the bottom line.”

Zitron is not a silly evangelist advocating for a glorious future in which no one has to leave home to go to work. Many workers, of course, need to show up. Construction workers, hospitality workers, sales clerks, and many others really do need to be there in person. The remote work movement has never been about these people. Rather it’s about those who, say, spend their days in front of a computer. There’s no reason, other than the made up “office culture” argument, that these people need to be in any particular place to do their work.

Zitron dismisses the idea of office culture as a way for non-produces to game the system at the expense of those who do produce. When everyone is working remotely, it’s much harder to game the system because it’s makes it obvious who is and is not doing actual work. He tells the story of Netflix’s co-founder and CEO, Reed Hastings, who dismisses remote work as a “pure negative” despite not having an office and, in fact, doing his work exactly like a remote worker would. That even includes working abroad for a year.

As I’ve said before, in the end all these arguments won’t matter because the best workers will refuse to take positions that require them to be in the office.

Posted in General | Tagged | Leave a comment

Progress ⁢⨉ 2

There were two bits of progress reported yesterday. The first is the announcement of the release of Magit 3.2. I’d describe the changes, as listed in the announcement, tweaks that make Magit more useful but nothing earth shattering. You can check the entire change log for all the details.

Magit is one of the gems in the Emacs crown and if you haven’t yet supported tarsius (Jonas Bernoulli), now would be a good time. We certainly want to keep those updates coming.

The other sign of progress is a post by Lars Ingebrigtsen on the Emacs Devel List concerning the release of Emacs 28. That’s still in the future but Ingebrigtsen suggests that the beginning of the release process is about to begin. He says that in the middle of September (at the earliest) they will cut the Emacs 28 branch and begin the debugging process leading to Emacs 28.1. That’s still months away but getting the process underway is a significant milestone.

Emacs 28 will be a big release for me. First, it reportedly fixes the annoying buffer repaints and flickers in macOS. If you’re a Mac user, this is a big deal. More significant, of course, is native compilation. Everything I read about it suggests that this is going to be a game changer. I’m really looking forward to trying it out.

The naysayers are fond of pontificating on how Emacs is old and dead. Except, of course, that everyone’s trying to copy Org-mode and Magit. Wait until we get native compilation. While all the cool kids are strutting around with their “pretty” GUIs, we Emacs users will be blowing them away as we edit at the speed of light.

Posted in General | Tagged , | Leave a comment

Org-roam As a Second Brain

David Wilson over at the YouTube System Crafters channel has a new video up on getting started with Org-roam and building a second brain. It’s the best introductory video I’ve seen on Org-roam and, of course, Wilson is promising more.

The video covers Org-roam V2 and except for mentioning how to get rid of the warning message for V1 users, doesn’t mention V1 at all. By the end of the video you’ll know how to set up a working Org-roam installation and start taking notes. Later videos will cover more advanced topics but this one will end with you being productive with the package.

The video shows you how to create new nodes and link one node to another. The heart of a Zettelkasten is the idea that you can not only follow forward links from a parent node to a child but also back links from a child to its parents. The plural “parents” is important: the whole point of the Zettelkasten method is to discover hidden relationships between the individual notes so the backlinks buffer will show every reference to the current note. This is a realization of the idea that the Zettelkasten method produces a graph of the notes and their connections rather than just a hierarchy.

The video covers a couple of other topics like creating aliases for nodes and linking to a subtree of a note. These are interesting but not really that important to the effective use of Org-roam as a Zettelkasten.

If you’ve been wanting to try out the Zettelkasten method, this video will get you up and running with a minimum of fuss. The video is 34 minutes, 18 seconds so you’ll need to schedule some time but it moves quickly and is easy to get through.

Posted in General | Tagged , | Leave a comment

More on Writing Academic Papers with Org-mode

The other day, I wrote about Wouter Spekkink’s Org-mode setup for writing academic papers and promised to followup with Jonathan Bennett’s post on the same subject from a couple of years ago. As I started to prepare my post on Bennett’s post, though, things seemed vaguely familiar.

A little checking revealed that I’d already written about Bennett’s post back in 2019. It’s a good post and worth revisiting—especially in view of Spekkink’s post—so I’m linking to it again. If you have to produce papers in an academic environment—or anywhere, actually—you should take a look Bennett’s post.

Posted in General | Tagged , | Leave a comment

Red Meat Friday: Just Punishment

Editorial Note

For some reason, WordPress is refusing to post the embedded Tweet to Irreal’s database so I’m reduced to posting a link to it instead. This is yet another data point that makes me think I should suffer the pain of converting Irreal to a static site.


As you all know, Irreal is not a fan of Google and their spying. ibichka, it appears, agrees. He proposes a just punishment for those who traffic with Google:

https://twitter.com/iburunat/status/1419272310226305029?s=20

Posted in General | Tagged , | Leave a comment