Write One To Throw Away

By Gene Wilburn


One of the things I like about writing first drafts longhand is the visceral satisfaction I get from tearing a sheet off the pad, crumpling it up, and tossing it across the room when I realize an article or essay isn’t working. You can delete your working draft on a PC or tablet of course, but that’s not as fulfilling unless you heave your device across the room, and few of us can afford that kind of gesture. Besides, it might damage the floor.

The hard truth is that first drafts are often disappointing and that you shouldn’t be reluctant to toss them, literally or virtually. It was Hemingway who opined that all first drafts are crap. In over 50 years of writing published freelance articles and book chapters, I’ve rarely had a piece come together as soon as I started writing or typing it.

Your experience might differ. If your first drafts practically write themselves, bless the writing gods and carry on. I’m envious. I’m more like William Zinsser who said in On Writing Well that writing, for him, was always hard work and that his pieces required many revisions before they were ready to submit.

The best way I’ve heard this expressed was by Frederick P. Brooks, Jr. in The Mythical Man-Month in which he stated the principle “Build one to throw away.” The context of Brooks’s book was different — it was about building an IBM mainframe computer — but I think the same principle holds true for writing.

First Comes the Vetting

Of course you need to give your writing brain a chance to go with the flow on your first draft. It’s important to let creativity and imagination power your writing to see where it leads. This may apply more to fiction writers, but even nonfiction writers are susceptible to the singing of the muses. Don’t judge your first draft until you’ve either written it out or become too bogged down to continue.

The next step after writing a first draft is not editing it, but vetting it. Don’t worry about editing at this point — there will be plenty of opportunities to wear your editorial beanie once you get past the vetting stage. Vetting your piece is different.

Here’s how to vet it: Read your first draft in the context of “is this really what I meant to say about this?” “Honestly, is this writing working?” “If not, where did I go astray?” “What might be a better approach?” It’s even okay to ask yourself, “Am I really this boring?” Vetting can be humbling.

But don’t despair!

If you decide your first draft stinks, consider your time well spent. You’ve learned how it shouldn’t be written. Toss it, and with your newly acquired insight start over. This time you’ll envision your piece from a different perspective. Put back in any parts that seemed to work, but recast the framework of your piece so it fits with your new concept of how it should read.

We all hope that our second drafts will express our second thoughts about a piece and that it will develop wings and fly. I’d be dishonest, though, if I said I’d never crumpled and threw away a second draft. I have had, at times, to write a third draft before my writing began to jell. Usually by second draft, though, the writing picks up.

Then Comes the Editing

Just because your piece is now fleshing out the way you had envisioned it doesn’t mean you’re done. Now is the time to edit the dickens out of it.

Watch for sloppy phrasing, clichés, misspelt words, and sections where the piece doesn’t flow well. Tighten up everything. Remove unnecessary words. You want to make reading your work easy for your readers. Above all, you want your writing to be crisp and clear.

This means multiple edits. Be ruthless and be certain to give your piece at least 24 hours rest before its final edit prior to posting.

Quality Over Quantity

I’m assuming here that you want to feature your best writing. This vetting approach doesn’t work well if you’re trying to post 30 articles a month on blog site. To do that you have to dash them off, give them a light editing, and press on to the next piece even if your posting isn’t as good as it could be. We’ve all read too many stories from writers who sacrifice quality for quantity.

The bottom line is this: Writing is hard work. Quality writing is even harder, but it’s an investment in your writing reputation. To quote Calvin’s father (of Calvin and Hobbes fame), “It builds character.” My advice: Strive for quality. Every time. And that means being willing to toss that first draft and refocus your efforts.

Good luck with your writing, and may the muses smile upon you.


This article was originally published in The Writing Cooperative, on Medium.com

In Praise of Perl


Mascot of the Perl Programming Language

By Gene Wilburn

Programming languages rise and fall in popularity. For awhile everyone is keen on C, then C++, followed by languages such as Golang, Rust, Haskell, Python, or [fill in the blank with your favourite language]. Their popularity is frequently driven by need — the desire to find the best tools for highly complex programming projects.

Some languages fall by the wayside. Few programmers still use Algol, Fortran, COBOL, Basic, or Pascal. Though they were widely used in their day, they now appear mainly in legacy programs.

And some languages, while no longer as widely used, still persist among those who appreciate their special qualities. These include Common Lisp and, my favourite, Perl.

What is Perl?

Perl is an interpreted general purpose language similar in some ways to Python. It began life as scripting language, which it still excels at. It doesn’t force any particular programming paradigm on the developer and is well known for its motto: “There’s more than one way to do it.”

Created by Larry Wall in 1987, Perl has, from the start, been used for system scripting and text handling. With a C-like syntax, it combined elements of sed, awk, and shell scripting. It has become known for its extensive and elegant support of regular expressions, also called “regex” and “re”.

Its many built-in structures, such as support for arrays and “associative arrays” (similar to Python “dictionaries”), is augmented by a very large selection of libraries or modules (PerlMods) that can be used for specialized applications, such as reading and traversing hierarchical data structures such as XML or json files. There are thousands of specialized modules available at CPAN, the Comprehensive Perl Archive Network.

Of course Perl supports all widely used database products such as MySQL and Postgres, and in the early days of web development, many interactive websites were developed in PerlCGI.

Practical Programming

Not all programs are big, though. Little programs, too, have their place. Perl is ideal for crafting utilities that you can use at the command line, often as filter programs that take “standard in” (stdin) data, do something with the content, then pipe it out to “standard out” (stdout).

Example of setting up a filter program

while (my $line = <>) {
# Do something to the line from stdin if warranted
# then send the line back out to stdout with
print "$line\n";
}
exit;

There. That’s the skeleton for a Perl filter program. All you need to do is fill in the task(s) you want done on the line. (It can get more elaborate, certainly, but that’s true of all languages.)

Suppose you frequently write reports, articles, blog entries, or daily entries in a journal and that, being text oriented, use Markdown notation to mark how text should be formatted for display. Along the way you may have used two hyphens to indicate an em-dash (—).

Then you learn that Pandoc, which is widely used to convert Markdown to other formats, follows the TeX typesetting convention of using three hyphens to indicate an em-dash and two hyphens to indicate an en-dash, the shorter than em-dash, longer than hyphen dash that separates number ranges in academic and formal typesetting, e.g., Pages 2–5. How do you easily fix your documents so that Pandoc assigns em-dashes where you intended them?

You could open each document and do a find-and-replace operation. That’s okay for a few documents but suppose you needed a way to check this in multiple documents on a regular basis? Enter a few commands in the Perl script, using Perl’s regular expressions. You can, at the same time, also remove any blank spaces before and after the hyphens, putting the resulting dashes tight against the words — also standard for traditional typesetting. (Why do this? It makes the document look better, especially when the lines of output are justified, as in a report, printed book, or PDF.)

Example of using regexes in a filter program

All we need to do in Perl is inject some if logic and some regular expressions:

# Remove any spaces around " - " or " -- "
$line =~ s/\-\- /\-\-/g;
$line =~ s/ \-\-/\-\-/g;

# Test for " -- " and expand to " --- "
if ($line =~ m/\-\-/ and $line !~ m/\-\-\-/)
{
$line =~ s/\-\-/\-\-\-/g;
}

Note: I had to insert backslash escape characters in this snippet because Medium screws up the formatting otherwise.

Then you can use your filter program, let’s call it em-dash.pl, at the command line using pipes and redirection:

$ cat <filename> | em-dash.pl > <newfilename>

For a routine job you could then call this filter program in a shell script. Here’s an actual example I use to annually groom my monthly journal Markdown text files into Pandoc-ready versions, before turning my journals into an annual ebook:

#!/bin/bash

# Wrapper for em-dash.pl

for i in *.md
do
bname=$(basename "$i" | cut -d. -f1)
echo $bname # Display which file is being checked
em-dash.pl < $i > ./$bname.mmd
done

Converting the entire year’s journal entries with this script takes maybe 2 seconds. You’ll notice that I convert all my files that have the suffix .md and write out files with the same basenane but with an .mmd suffix. This preserves the original file in case something goes wrong. After a positive review, I then delete all the .md files with:

$ rm *.md

These examples were meant simply to give you a slight introduction to Perl, in case it catches your fancy. Perl is open source and free. It is packaged with any *nix-based operating system, including Linux, FreeBSD, and MacOS.

For an in-depth look at the language visit Perl.org. The most popular book on Perl is the “Camel Book”, Programming Perl, an O’Reilly book by Larry Wall and contributors.

Happy Perling!


Gene Wilburn is a retired Canadian IT specialist, writer, photographer, and occasional folksinger. He is the author of Markdown for Writers, 2nd Ed., Rev.

Beyond MacOS and Windows: The Linux Alternative


Linux Penguin Mascot and the Logos of Various Linux Distributions

Here are some of the reasons why you might want to try out Linux, the free, alternative computer operating system:

  • You’re adventurous and willing to try something new.
  • You’re broke and can’t afford to keep up with software prices and subscriptions.
  • You have an older PC or laptop you’d like, or need, to use beyond its best-by date.
  • You’re going into STEM studies and need a more technical computing environment.
  • You’re a rebel who dislikes the near monopoly of Microsoft and Apple.
  • You’re a skeptic who wants to see if Linux is as good as its users claim.
  • You want to be as cool as your techie roommate.
  • _You want to attract love interests_ (Sorry, N/A)

If you find yourself in this list, or have a special need of your own, let’s take a layman’s view of Linux without getting overly technical.

The Linux Operating System

Linux, like MacOS and Windows, is a computer operating system that runs on PC desktops and laptops. Unlike MacOS and Windows, there is no corporation that owns it. It was built by volunteer programmers around the world who not only created the operating system, but also most of the software that it runs.

Linux was borne of many early grassroots computing projects, including those of the Free Software Foundation (FSF) that created what are known as the GNU utilities. A University of Helsinki student, Linus Torvalds (who has long since moved to the United States), created the Linux kernel, the core of the operating system which, when combined with the GNU utilities, created a complete operating system sometimes called GNU/Linux but more frequently is called just Linux.

From the early 1990s when Linux was first introduced, until today, Linux has undergone a tremendous era of growth and improvement in which it has become a modern operating system that measures up well against the ones from Microsoft and Apple.

While Linux is a distant third behind Windows and Mac in terms of general use on personal PCs, in the technical world Linux is frequently the operating system of choice. Linux is also widely used as an Internet server for web services. And if your phone is an Android, you’re already using a modified version of Linux behind the scenes without even knowing it.

What Does Linux Offer?

Choice

Because Linux is a community-supported operating system, it’s not monolithic like MacOS or Windows. Because there is so much choice available, different groups of developers have packaged Linux in different ways. These packages are called “distributions” or “distros” and there are many to choose from. They vary from lean, tight distributions that will still work well on old PCs, to slick, larger distros with all of the bells and whistles one expects from a major operating system.

There are several distros that emphasize ease of use and installation. These are ideal for new users. Linux Mint is but one example of a good beginner’s distro with user-friendly software included, such as Firefox, LibreOffice, Thunderbird Mail, and an easy interface that a Mac or Windows user can feel right at home with.

There is another sense of choice that is more philosophical. People often choose Linux because they believe in what its developers are doing. In a departure from corporate greed for profits, Linux is entirely free to download and use.

Software Galore

Nearly every kind of software that most people use on their computers has a counterpart in Linux. Most of this is open-source software created by communities of programmers working with each other. There are browsers, office apps such as word processors, spreadsheets, and presentation software, as well as photo editors, sound editors, video editors, 2D and 3D creation packages, and chat software, not to mention the more technical computer languages that are freely available to users.

Some widely used software such as Firefox and Chrome have Linux versions, and there are native Linux clients for Dropbox, Zoom, and Skype. And if you absolutely must have access to Microsoft Office for collaboration with others, you can use Office for the Web. Similarly, photographers and designers can use the web version of Photoshop, though there are open-source programs such as Gimp (GNU Image Manipulation Program) that are worthy alternatives.

In other words, there is no shortage of native Linux apps to choose from.

One area where Linux falls short, however, is for gaming. Serious gamers are pretty much stuck with Windows, although Linux, like MacOS, offers some quality games of its own, and offers a client for Steam streaming games.

Security

The first principle of computer security is that no operating system is totally secure. This applies to Linux in the same way it applies to MacOS and Windows. The difference is that when exploits are discovered in Linux, they are fixed quickly. Neither Apple nor Microsoft is as quick to deliver fixes. It’s easier to keep a Linux computer up to date with the latest security fixes.

Community

There is a strong sense of community among Linux users. Each Linux distro provides user forums where users can ask and answer questions and pick the brains of more advanced users. This is especially helpful to those who venture forth into using Linux as a home server for sharing a printer or as a backup server for storing personal files.

Satisfaction

The satisfaction factor in using Linux can be very high, if you click with it (no pun intended). Openly admitting that Linux is not for everyone, it can be deeply satisfying for those who respond to its charms. That person might be you.

How Do I Get Started?

There are distros that are very beginner friendly, providing easy installation procedures and help in getting oriented to the system. Here is a good overview of some of the best distros for beginners:

Best Linux Distributions That are Most Suitable for Beginners
Brief: It’s easy to get overwhelmed by the list of Linux distributions available. In this article, we mention the best…itsfoss.com

If your Windows PC desktop or laptop has sufficient disk space, you can install Linux side-by-side with Windows, booting into either system. If you have an older PC around, you can use one of the lightweight beginner’s distros to bring it back to life.

Modern Linux distributions are easy to install and recognize most hardware components such as built-in wifi adapters, Bluetooth, and ports including USB-A, -B, and -C. It supports HDMI ports and SD card ports as well. Overall, Linux has very good printer support.

You can use Linux without have to type commands into a Linux terminal, though as you grow into Linux, you may discover the power of the command line. Technical users will love the command-line programs and utilities.

Bottom Line

For all the reasons mentioned, Linux makes an attractive alternative to Windows and MacOS. It should be mentioned that Macs are inherently Linux-like under the hood and that if you are technically inclined, you can install more up-to-date open-source utilities by installing Homebrew, making the Mac even more Linux like.

Windows users can install Microsoft’s Windows Subsystem for Linux or WSL as it is called. This will install a version of Ubuntu Linux that you can run concurrently with Windows.

Neither of these options, however, is as satisfying as a dedicated Linux system, complete with one of the attractive graphical user interfaces that some users find more logical and easier to use than either MacOS or Windows.

Linux is a viable alternative for both general and technical users. I’m obviously a big fan of Linux myself and recently purchased a Lenovo ThinkBook just to run Linux Mint, my personal favourite distribution.

Should you decide to give Linux a try, chances are that you’ll be well rewarded.

Good luck, and be brave.


Gene Wilburn is a writer, photographer, and retired IT professional. He has been writing about Linux since the 1990s.

Antix Linux


antiX Linux: A Lightweight Speedster

antiX Linux Screenshot

antiX (pronounced “antics” not “anti-X”) is a lightweight Linux distro designed to run on minimal PC hardware, or “live” on a stick disk, similar to LXLE, Lubuntu, Linux Lite and others. AntiX Linux is based on Debian but proudly describes itself as free of systemd — a newer and widely used system startup environment that some Linux gurus dislike.

Two things immediately caught my attention about this distro. Despite being lightweight, it includes major software such as LibreOffice and Firefox. It uses the snappy IceWM as its default windows manager along with the Rox file manager. I’ve always liked IceWM so I decided to give antiX a whirl on my sandbox computer: an older Lenovo Thinkpad laptop with Intel i3 processor, 4GB memory, and 400GB HD — not exactly minimal, but not particularly fast either.

Installation

Installation is easy. The installation process has a somewhat different look and feel compared to Ubuntu-derived distros but it asks most of the same questions.

During installation it prompts for two different passwords, the user password and the root password. It’s possible to create a user with no password at all, which may be convenient for some users. I chose to create a user password to keep it in line with my Ubuntu and Mac systems.

Once installed, antiX presents an attractive IceWM environment with a bold wallpaper and an app called Conky that displays a number of runtime stats including current time, uptime, CPU, disk, and connection usage. Conky can be switched off via the Desktop menu if you find it distracting.

The IceWM menu is invoked from the start button in the lower-left hand corner of the screen, à la Windows, but it can also be invoked from anywhere on the desktop with a right-click of the mouse. IceWM has dozens of contributed schemes you can try out to subtly alter the appearance of the desktop environment. I particularly liked the metal 2 look.

The only app I found wanting in the initial setup is Rox file manager. Finding it too primitive for my taste, I installed PCmanFM ($ sudo apt install pcmanfm) and added it to the menu’s Personal tab for quick access.

The default terminal app is Roxterm. It seemed quite decent but it crashed on me when I moved my .profile file to .bashrc. It was also not exporting my customized $PATH statement. So I installed LXTerminal ($ sudo apt install lxterminal), which is also lightweight and fast, and configured it to be my preferred terminal application. LXTerminal interpreted my .bashrc file perfectly.

Next up was Dropbox, which I use to share my writing and scripting files across my computers. It requires installing the Dropbox daemon via the Synaptic package manager, a simple task. You choose Nautilus-Dropbox from Synaptic. Rest assured it doesn’t install Nautilus dependencies.

All my writing is done in Markdown plain-text format so I installed Ghostwriter, a dedicated Markdown editor. In line with Markdown, I installed Pandoc for converting Markdown files to other file formats. I use TeX/LaTeX for typesetting which required the installation of Texlive and, in my case, LyX, a graphical document editor to accompany LaTeX.

Likewise, I installed Sigil, an Epub creator and editor for producing nice-looking ebooks, and, not finding Gimp on the system, I installed that too.

Missing Utilities

One thing that never works well for me in Linux is a laptop’s trackpad. Unlike the slick trackpad drivers on a MacBook, Linux trackpadding ends up shooting me all over the screen so I end up typing things in the wrong paragraph — not something that makes a writer happy. To fix this problem I prefer to switch off the trackpad entirely and use a wireless USB mouse instead.

There is no simple way to do this in antiX. You have to issue the command synclient TouchpadOff=1 to switch the trackpad off. Because I usually forget how to invoke this command I created two .bashrc aliases:

alias padoff='synclient TouchpadOff=1'
alias padon='synclient TouchpadOff=0'

allowing me to switch off the trackpad by typing padoff, a command I can remember, at a terminal prompt.

The antiX Control Panel offers no visual support for a laptop’s power management. An Internet search tipped me off that some antiX users install xfce4-power-manager to set power levels for both plugged-in and battery options. It brings in very little of the xfce4 environment, keeping the distribution light. Using XFCE Power Manager I was able to easily adjust my Thinkpad to switch off the screen when the lid is closed, and to go to sleep after a certain timeout. This greatly improved the Thinkpad’s battery life.

Okay, But What is This?

I’m impressed at the way antiX Linux adds new programs to the IceWM menu. Painless. Except for one weird exception.

I’ve lately been using an open-source, Markdown-based note-taking app called Joplin across all my computing platforms — MacOS, iOS, and, of course, Linux. I hoped that I could type $ sudo apt install joplin, but this wasn’t in the repositories for antiX.

This took me to the Joplin site where I downloaded the Linux file Joplin-2.5.10.appimage. Neither antiX nor I had ever seen this file extension before. An Internet query explained that it was a self-contained Linux program (“container?”) with all the dependencies included. After setting the permissions of an AppImage file to execute, you can double click the app in a file manager to launch it. AntiX certainly had no built-in way to deal with an AppImage package, nor any way to add it to the menus.

To make it simpler for me to use, I placed the Joplin AppImage file in my $HOME/bin directory and created a symbolic link to it called joplin. Since I nearly always have a terminal open, this allowed me to launch the program simply by typing “$ joplin &”.

Bottom Line

To be honest, antiX Linux made my day. It’s not often I find myself highly attracted to a new distro, but I enjoy antiX so much I’m going to keep it as the default Linux on my Thinkpad laptop. Due to its speed and lightweight interface, it’s easily one of the top distributions to consider for aging computers. In fact, my Thinkpad has never run better. It’s made a believer of me.


Gene Wilburn is a tech writer and essayist with more curiosity than time.

Back to Bash


How to Make MacOS More Linux-like

Up-to-date Bash shell in MacOS

One of the great things about MacOS is its command line, a terminal onto a Unix-derived set of utilities that are available for free. All you have to do is issue the following command in a Mac’s Terminal application to get a full set of them.

% xcode-select —install

Apple’s official name for these is Xcode Command Line Tools. If you’re used to a Unix-style command line, you’ll feel right at home. Well, almost.

If you come from a Linux background, you will find the tools a bit … lacking. The problem is that many of them are out of date. Apple doesn’t put a high priority on keeping them current. Another problem is that many of the utilities are derived from BSD rather than GPL Linux repositories, which means that they’re not as feature rich as their Linux counterparts.

For years, Apple made Bash (Bourne-Again Shell) its primary CLI, but even though this is Linux-like, Apple installs a very out-of-date version of Bash. The reason for this is that Apple, being a proprietary company, doesn’t like the very open GPL licensing of Bash and other Linux utilities. As a result, Apple has recently switched to making Z Shell (zsh) its default shell program, leaving an obsolescent Bash for those who might need it for Bash scripts that might not work in zsh.

There is nothing wrong with Z Shell. It has a few features that are better than Bash, such as slick directory changes, but Bash users who prefer to stick with Bash and prefer a more Linux-like command-line environment may wish to return to Bash.

Fortunately there’s a way to enjoy the best of both worlds — the lovely MacOS graphical interface that can run programs like Office 365 and Adobe products, as well as having the latest utilities from the Linux side of things.

Meet Homebrew

The secret is Homebrew, which calls itself “the missing package manager for MacOS.” If you know how to use the apt-get utilities from any derivative of Debian Linux, such as Ubuntu or Linux Mint, you will be very comfortable with Homebrew.

You first need to install Homebrew into MacOS, which you do using the Mac’s existing command-line tools by typing

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)

If you’re running an Intel Mac, Homebrew will put up-to-date open-source utilities in /usr/local/bin. If you’re running one of the new Apple M processors, the utilities will be placed in /opt/homebrew/bin.

Homebrew installs with the latest version of Bash. On my M1 Macbook Air, Bash is version 5.1.8. The version Apple ships is 3.2.57.

One final step is required to use the tools more conveniently. You need to add the path to the new utilities to your PATH environment. You do this by updating your ~/.bash_profile settings. Open .bash_profile in the editor of your choice and add the following line for Intel Macs

export PATH=/usr/local/bin:$PATH

or for M-based Macs

export PATH=/opt/homebrew/bin:$PATH

Type $ source ~/.bash_profile and your pathing will be set and you can run the utilities from the command line and get the right set.

Switching to Bash as Default Shell

Setting Homebrew’s Bash Shell as the MacOS Default

To make Bash your default shell, Open Terminal -> Preferences and add the path your system needs to boot Bash. For an Intel Mac this would be /usr/local/bin/bash and for a Silicon Mac /opt/homebrew/bin/bash .

Adding and Removing Applications

Homebrew doesn’t stop with just the utilities. Many of the applications that are available in Linux are also available to the Mac. For instance, if you needed to do some PHP development on your Mac, you could type

$ brew install apache2 php

Or

$ brew install ngnix php

You then have the latest general release of both the web server and of PHP (PHP 8 by default).

You can remove applications just as easily, e.g.,

$ brew uninstall ngnix php

And you can keep all your apps and utilities up to date by occasionally typing brew update followed by brew upgrade if there are updates to be applied. Notice how parallel the usage is to Linux apt.

If you run Apple silicon, most of the Homebrew utilities have been recompiled for the M processor. The utilities and apps that have not been recompiled run in Rosetta2, and they run about the same speed they do on Intel Macs. The M-compiled ones really zip along.

With your Mac now more Linux-like, you can add your favorite languages in the same way, e.g.,

$ brew install python3

Homebrew takes care of all the dependencies.

Using Brew

Brew Usage

Anyone who has used apt-get in Linux will feel right at home with these parallel Homebrew commands.


One last tip. If you would like a really attractive Bash interface with color coding and built in alias like ll for ls -l and la for ls -a, grab the contents of the default .bashrc file from Ubuntu or Linux Mint (or probably any distro that uses Bash as its default shell), and paste it into the top of ~/.bash_profile on MacOS and it transforms your environment from plain jane to Linux cool.

The synergy the Mac gets from these ‘Linux’ utilities and applications will take your command-line computing to a higher level.


Gene Wilburn is a computer generalist, tech writer, essayist, and photographer.

Full-Frame Photography on a Budget: Buy Used

Used Nikon D610 and 3 used lenses

By Gene Wilburn

For someone who cut their photographic teeth shooting with 35mm film cameras and lenses, full-frame digital cameras feel like a homecoming.

It’s not just the impressive image quality that comes from a full-frame sensor—it’s the instincts for the focal lengths you grew up with. A 24mm lens is 24mm with no crop factor. Not 38mm equivalent as with APS-C sensors, nor 48mm equivalent as with M43 sensors. 24mm, the real thing. The same for 50mm, or 85mm, etc. It’s a familiar world with a long and deep history that echoes back from the days of the earliest Leicas.

For someone on a restrained budget, however, full-frame can be a stretch financially. The latest cameras are dazzling things, most often mirrorless, frequently with image stabilization built into the camera body, and superb features, including tilt and swivel LCD panels for convenience when composing shots. Yet if you’re willing to move away from the leading edge of digital photography, you’ll discover that there are interesting deals to be found at the trailing edge.

The Trailing Edge

Think of the camera market as a kind of comet moving through time. The latest and greatest products form the bright head of the comet, its leading edge. The comet is then followed by a long tail, the trailing edge of discontinued models from the most recently discontinued to older models, stretching all the way back to film gear from the last century.

All along the way are deals to be had, for cameras don’t stop working because they’re discontinued. There are full-frame cameras from a relatively short while ago that were great cameras at the time but are now discontinued. Used ones in good shape have lots of service left in them, and they sell far below the price of the latest models.

Take my own case. I wanted to get back into full frame after having once owned a Nikon D610 DSLR, an intermediate-level body. I sold it when I was downsizing but soon had seller’s regret. So I scoured eBay and found another D610 advertised as being in “mint” condition. You have to be careful buying a camera unseen, but if you check the seller’s feedback you get some idea of how reliable they are.

I ordered my used D610 body from a camera seller in Japan. It meant a bit more spent on shipping and duties, but when the camera arrived it was immaculate. Cost: $675 USD. For $200-400 more I could have purchased a fine D800 body, but as an amateur photographer, I didn’t need all its features.

I knew I wanted a macro lens for it and for years I’ve been a distant admirer of the legendary Tamron Di 90mm macro lens. I found a “mint” one in Nikon mount from another Japanese vendor, for $200 USD.

I already had a 50mm f/1.8 Nikon lens so I had the middle ground covered. What I needed was a wide angle. From my experience with my iPhone (28mm equivalent) I knew I wanted something a little wider, so I located a good-condition Nikon 24mm AF-D lens for $150 USD.

My total base cost was just over $1000 USD for a full-frame camera plus two “new” lenses. Not bad considering a Sony a7C sells new, body only, for nearly $2000 USD and its lenses are expensive.

Recycling at its Best

I’m not a professional photographer and don’t need all the (lovely) bells and whistles of the latest models. And as a retiree on a fixed income, I have to be careful with my spending, so the prospect of recycling some of the slightly older, used gear is financially appealing.

It’s also a nice feeling to give a good used camera a new home rather than allowing it to sit idle on a shelf.

Buying used, as long as you’re careful about it, represents recycling at its best. As you can see from some of the photos I’ve added to this article, all taken from plants in our gardens, I’m a happy camper, very pleased to be photographing with my used gear.