How easy should it be to create a website?

I read this in a post by Ton Ziljstra today, referencing a conversation between Ton, Aaron Parecki, and Tantek Celik. I think the correct answer is “it depends on what you want”. Aaron Parecki and Tantek Celik are recognized as the co-creators of IndieWeb.org, and leading figures in the IndieWeb movement. The context of the question from Ton’s post is that you can do it on social media silo sites, but what about on the open web? I think that Tantek and Aaron would like to be able to see this happen on the open web, but they mentioned a third party silo (Linktree) as a solution.

I think that people like to get stuff for free. They like to access web services for free. So when someone thinks “I would like to have a website”, their first thought may be to look to a free service. However, in many cases, they do not “own their data“. They may not even own their own URL. To own your data, to own your URL, has a cost. It can be a small cost, but there is a cost. I would say that creating a site on WordPress.com, and paying a fee to have your own URL and to not have ads on your site, is the simplest way to have a site and own your data and URL. To totally own your web presence requires a little more cost and effort (I wrote a book on how to do it!), but again this is totally doable. Ton says he would create a small site writing HTML in Notepad. He could, but then he would need web hosting and a URL (see my book for how to do this cheaply!). Again, it comes back to the answer “it depends on what you want”. If a person is willing to let another site host their words for free – go for it! If you want to have more control, host it yourself, or pay for a site you control (like Micro.blog or other hosting sites).

Another OPML viewer for Federated Bookshelves

I am playing with a new toolkit from Dave Winer for working with OPML (https://github.com/scripting/opmlPackage), and modified the client example to read my booklist file – nice!

A reader wanted instructions on how I did this, so here they are:

  • Download the zip file from the Github repo
  • Edit code.js in the client folder to provide a URL for an OPML file that is available on the web
  • Upload the files to some web hosting
  • Go to index.html to view the OPML file

Is good code boring?

Juraj Malenica writes saying “You should develop boring code”. His post highlights the following:

  • Make your code readable
  • Keep your code predictable
  • Your code is your documentation

If we take these as attributes of “boring code”, are these also attributes of “good code”? Let’s take a look.

Code readability (the ability to understand a source code function) is a good one. For most of my career, I have been working with existing code bases, and ability to understand what has been done before is very important. Working in the avionics industry, requirements and traceability go a long way towards helping understanding legacy software. If this is not available, avoiding the use of difficult-to-understand coding techniques can enhance readability.

In Juraj’s post, code predictability covers naming conventions for parameters/functions/files. For the projects I have worked on, coding standards help to define these conventions. Juraj mentioned a Python standard, there are many available.

Finally, code as documentation is a good goal. If there is no other project documentation, the source code should contain all the information necessary for another developer/engineer to pick up the code and add new features.

After this review, I would say these “boring” elements are also included in code that would be considered “good”. Is this everything needed? No (it is necessary, but not sufficent), but this is a good start.

How can we work together on the open web and on software development

I have been in several conversations in the last week (voice and email) where the concept of “working together” in software development came up, and several threads emerged:

  • how the original developer doesn’t/shouldn’t have to do everything – others can contribute (to me, a key concept in open source)
  • how interested/engaged users can be an important force in the direction in which a software application or tool goes forward

Dave Winer has written about this many times:

I have tried to follow that second point in several ways:

I am getting ready to start working in the computer music area again after a long absence, and I am reviewing available tools to see if they fit the areas I am interested in. In that way, I am trying to practice the concepts of working together as I have outlined above.

Anyone want to work together with me? Let me know!

Enabling reverse order display of posts in Hugo for Book theme

In an earlier post, I mentioned an issue with rendering a website built with Hugo. In the build command, I had to specify the theme. Jack Baty pointed out the theme could also be added to a configuration file (config.toml) so as not to have to enter it each time at the command line.

My next problem was that I wanted the blog post part of the Book theme to display the posts in reverse chronological order. However, it was displaying my post in the middle of the example posts, and I could not figure out what was driving the order. Jack Baty suggested looking at the template file inĀ /layouts/posts/list.html. I looked at that file in the Book theme directory, and started looking at the lists page on the Hugo documentation site. After some reading, I found an example that showed how to display content in reverse order based on the date specified within the file. I changed the third line in the file from:

{{ range sort .Paginator.Pages }}

to

{{ range .Pages.ByDate.Reverse }}

I also edited the Date field in the posts to all have the same format:

date: “2019-06-03”

Once I did that, I got the results i was looking for – hurray! It would have been nice if the theme had done this “out of the box”, but at least I figured it out.