Oops Again.

Well , I misidentified the Lisp-like languages on my iOS devices. Here’s my folder of prgramming paraphernalia on my main iPhone:

MyLisp and cl-repl are Lisps, LispPad is a Scheme interpreter and Replete is a clojurescript interpreter.

The coolest thing I’ve found…

The coolest thing I’ve found lately is the programming language Rust. Admittedly, it hasn’t been that recently, i decided to explore it in 2019. Other than being what I consider to be a C language without the pitfalls of C., it’s a rather non-remarkable language.

On the other hand, I still am a fan of functional languages. I was introduced to the functional language Lisp in 1972. I immediately felt a kinship. Lately I do more in Clojure and Haskell on more standard OSes. Tho I play with LispPad on my iOS devices. This is a common lisp dialect which is a joy to fool around with.

Change of Direction

Well, I connected this blog with an ActivityPub plugin so supposedly the blog posts are now being distributed to the fediverse, Mastodon instances and all the other members of the fediverse like FireFish instances. All togerther, I have accounts on those other instances totalling about 6-7 accounts. Each account has a slightly different viewpoint, one is a replacement for my main Twitter account, a few others are almost completely related to my music endeavors, and one has also got a programming bent.

The main thing with this blog is that it won’t be exclusively about software development anymore.

DoorDash Woes

The longer I do DoorDashing, the more I notice that the relationship is an abusive one. If DoorDash didn’t have drivers, they’d have no business. But their business model is to abuse the drivers until they either quit or they accept that DD’s profits are based on screwing the drivers out of as much money as they can. From what I can tell, DD keeps around 75% of the money they get from their customers (restaurants and other businesses) and drivers have to be content with $2.00 to $2.75 for pay and any tips that the end user deems to be fair. In the past two years, those tips have become scarcer and scarer. The median tip is now $2-3. So your total compensation for a delivery is about $4-5. And if you refuse to do a $2.00 delivery your ratings suffer because DD penalizes you because, in their eyes, you’re obligated to accept ALL deliveries. So much for independent contractor status, DD drivers are employees with NO benefits.

Lisp and friends

Read a post on one of my fediverse accounts about some interesting code that uses sha1 to do a kinda rot13 thing on text. The post didn’t have any code attached so I replied to the writer to get the Lisp code to do the transformation. This is what they sent me:

(ql:quickload :sha1) (defvar *syllables* '((#\0 . "ze") (#\1 . "wa") (#\2 . "tu") (#\3 . "ri") (#\4 . "fo") (#\5 . "fi") (#\6 . "si") (#\7 . "se") (#\8 . "ye") (#\9 . "ni") (#\A . "he") (#\B . "bi") (#\C . "ki") (#\D . "di") (#\E . "yi") (#\F . "fe"))) (defun shashify (str) (apply #'concatenate (cons 'string (loop for c across (sha1:sha1-hex str) collect (cdr (assoc c *syllables*))))))

Note that this is Common Lisp code, as opposed to other dialects. And WordPress doesn’t know how to display code anymore. I’m going to try to convert this into something I can run on my iPhone. Yes, there’s a few Lisp interpreters on iOS. More details later. 

As Usual, The Elites Get Preferential Treatment

In this article from Salon, it says:

While Trump was given preferential treatment in that he wasn’t made to wait the average 12 hours an arrest and booking would normally take — and he also wasn’t given any sort of cavity search or general wellness check — he did have a mug shot taken, which many people have been waiting a very long while to see.

In fact, all but one of his co-defendants also received preferential treatment. Yes, there are 2 systems of justice, one for the rich and powerful, another for the rest of us.

6th anniversary?

Looks like this past June was the sixth anniversary for this iteration of The Object Networks web site. I had been using in the past WordPress software on other web hosters like BlueHost. But invariably, I would run into insurmountable problems, or the web host company would jack up their prices to ridiculous levels. Six years ago, I decide the try WordPress.com. Higher prices than I would like , but the customer services has been much better than I have been getting.

Now We Get Yanked Around Again by WordPress.com

Like the title says, now we have to interact with a Jetpack app, with fewer features than the last app. I love getting yanked around by these faceless, uncaring corporations. Especially after paying for another 2 years of lousy service for $499. “Happiness Engineers”, their euphemism for customer support, never have answers to your questions, just workarounds for a crappy experience. The only reason I stay is the competition is even worse. As the title says, this is the third website provider I’ve had since attempting to have a website on the internet.

Why Does WordPress Make it Impossible to Add Posts?

I started to add a post to this blog over 2 hours ago. I was trying to paste an article here that I composed on my iPhone. I used the new interface and the Visual Editor and everything was screwed right from the beginning. Nothing pasted correctly. And it was impossible to add a link to the article. This toolbar vanished from the screen in the new interface, never to be seen again.

Toolbar gone in the new interface

So I guess trying to save time by editing outside of WordPress to save time to a futile effort. Thanks a lot WordPress.com. Up yours too.

which BOINC projects give the most credit?

Subtitle: And which BOINC projects cheat the most

Well, in the most recent iteration of contributing to BOINC, i’ve found that quite a few projects don’t seem to feel that rules are for the common good. The main culprit seems to be World Community Grid, the IBM project. Inside BOINC, you technically grant projects a share of your computer resources. Then the BOINC executable is supposed to run the workunits that you’ve downloaded according to those rules. But those shares are ignored by BOINC and projects like WCG, LHC@Home, and Rosetta@Home can monopolize your resources with impunity. I single out those projects because they also cheat you on credits given. As far as I can tell, projects are given leeway to grant credits as they wish, with the suggestion that 200 credits be granted for each workunit that takes 1 day to process on a 1gHz machine. The above mentioned projects grant considerably less than that, with IBM’s WCG is the grand prize miser granting a measly 25 credits per workunit per day. maybe publicly shaming them will cause them to quit cheating, but I doubt it.

And Now For Something Completely Different—Ropes

Well, I guess you can teach an old dog new tricks. I just got introduced to a new datatype—Ropes. Ropes are a “new” type of string-like data that definitely can have its uses. See the Wikipedia article here for an introduction to Ropes. The article is called Rope (Data Structure) and it says in part:

A rope is a binary tree where each leaf (end node) holds a string and a length (also known as a “weight”), and each node further up the tree holds the sum of the lengths of all the leaves in its left subtree. A node with two children thus divides the whole string into two parts: the left subtree stores the first part of the string, the right subtree stores the second part of the string, and node’s weight is the sum of the left child’s weight along with all of the nodes contained in its subtree.

For rope operations, the strings stored in nodes are assumed to be constant immutable objects in the typical nondestructive case, allowing for some copy-on-write behavior. Leaf nodes are usually implemented as basic fixed-length strings with a reference count attached for deallocation when no longer needed, although other garbage collection methods can be used as well.

It lends itself to uses in a Unicode string, because not all leaves need to be the same width.

In the article is a comparison to monolithic strings, outlining, the advantages and disadvantages of Ropes.

The Wikipedia article complains that the article mainly references  only one article, but Casey Ransberger said on the Cuis-dev mailing list:

Found the link for the paper I read about the “ropes” data type. Figured I’d share it around for interested folks.

ALSO! Grab this next one quickly, as it’s free on the ACM’s digital library for a limited time due to them opening up the library during the COVID-19 crisis. It’s a paper describing an experience implementing Ropes using Traits in Pharo. It seems that much more significant per-capita reductions in code duplication were achieved by using Traits in the Ropes implementation than were accomplished in the older experiment (referenced in the paper) which involved reimplementing the collections hierarchy using Traits. Seemed relevant to the conversation, and given the limited window for people without ACM memberships to download it, I had to bring it up: