Still working through HTTPS breakage, updated my Reading List and Granary news rivers, and an OPML client demo (replaced HTTP links with HTTPS).
Web Development
There are 23 posts filed in Web Development (this is page 2 of 3).
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
Tried installing the PagePark app from Dave Winer on Glitch using these instructions, was able to create a website – cool!
via Chris Aldrich
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:
- The magic of working together
- Key concept of the open web: working together
-
Working together means this: If someone else has a good-enough way to do something, rather than reinvent what they do, incorporate what they do into what you do.
-
- Working together (SOTN 2018)
- Working together in 2019
I have tried to follow that second point in several ways:
- My blog uses WordPress, I did not develop my own blogging tool
- I use River5 as my RSS reader engine
- I use RiverBrowser to display my own rivers of news
- I document and evangelize how to create your own rivers of news
- I document how to use tools like River4 and 1999.io
- I help others set up these tools
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!
Read: jExcel v3: The javascript spreadsheet
via Stephen Downes
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.
Read: Creating a decentralized web chat in 15 minutes
Rendering a static site in Hugo
I am working on a project using the Hugo static site generator with the Book theme. When I looked at this command page, it looked like typing the word “hugo” at the base directory of my site would render the site to the public folder. However, when I did that, no index.html file was generated – grr! After some more searching, I figured out that if you are using a theme (like I am), the theme needs to be specified (“hugo -t book”). Once I added that flag, it worked! Oh, the joy….