Paolo Amoroso's Journal

development

Back in the CP/M and MS-DOS days, developers shipped software with all sorts of device drivers to support such basic peripherals and system services as terminals, graphics cards, mices and input devices, memory management, mass storage units, printers, network equipment, and more.

Every developer pretty much had to reinvent the wheel. Yet the industry thrived, and many software houses and independent programmers published successful applications and games.

These days mobile developers gripe about Android fragmentation, a consequence of the success of open platforms like CP/M and the IBM PC.

#Android #development #retrocomputing

Discuss... | Reply by email...

I often search GitHub for libraries and software I need, or browse to discover something interesting. But sometimes I skip or miss several potentially interesting items.

Why?

Because many repos don't provide any information or metadata. Or they don't stand out and get lost. It's a missed opportunity, especially because a few quick fixes may raise the odds of getting the repos noticed.

What can you do to improve the discoverability of your repositories?

First, provide a README.md file with at least one screenshot or other image, a short description of what the code does, installation and setup instructions, and a handful of usage examples.

Next, upload a preview image that social platforms can use to generate a nice snippet with a thumbnail when sharing a link to the repo.

The image may be the same one in README.md. Nothing fancy, even a screenshot of a terminal window running your code will do. On GitHub, you can upload an image to the repo under Settings > General > Social preview.

Finally, add relevant tags to the repo.

If you set up a social image and someone browses the GitHub listing of the repos matching one of your tags, the repos with a social image will stand out prominently. For example, visit the intel-8080 GitHub tag. You can't miss my suite8080 repo, right? It's Suite8080, a suite of Intel 8080 Assembly cross-development tools I'm writing in Python.

These fixes take a dozen minutes and are well worth a try.

#development

Discuss... | Reply by email...

My work on Suite8080 is making me rediscover the Unix M4 macro processing language.

Suite8080, a suite of Intel 8080 Assembly cross-development tools I'm writing in Python, includes also an assembler. I designed the latter to optionally read from the standard input, a feature that gives for free macro processing via a separate tool like m4. I can feed macro Assembly source to m4 and pipe the expanded output into the assembler.

The M4 language is a good choice thanks to its power and ubiquity on POSIX systems.

However, m4 is an obscure tool with a learning curve made steep by the unintuitive quoting and expansion rules. There are few resources and no books or tutorials. The very few code samples are abstract, short, and formatted with little or no whitespace and indentation, which doesn't help readability.

After extensive online research, I put together a list of the best learning and reference resources:

#Linux #development

Discuss... | Reply by email...