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:

A beginners mistake

Just to let you know, if you’re learning Clojure from the Clojure For The Brave and True website when they they tell you to download Leiningen from the website, please do that. At least on Ubuntu 18.04, the apt package is severely out-of-date, it installs Clojure 1.8, whereas the current version is 1.10. Version 1.8 is from 2016. But come to think of it, the book was copyrighted back in 2015, so it says in the book:

As of this writing, it’s at version 1.9.0, and development is going strong. If you’re reading this book in the far future and Clojure has a higher version number, don’t worry! This book covers Clojure’s fundamentals, which shouldn’t change from one version to the next. There’s no need for your robot butler to return this book to the bookstore.

By the way the Brave and True Book has a stupid title, but it’s probably the best book out if you’re looking to learn Clojure, and the book  website seems to has the whole text of the book that you can read for free. Can’t beat the price.

Odroid XU-4

Well, after a few months, I got some time to work on the 2 Odroid XU-4 that I bought. They have a choice of Linux or Android operating systems which you can install. I chose : Ubuntu 18.04.

The documentation only has instructions for installing on Windows or Mac. But I looked on the internet for instructions to use the dd command in Linux to flash the OS onto the SD card.

More to come…

 

“Old” News

So did you read about the fault in the USB C port on the Raspberry Pi 4? There has been articles about it on Extremetech, Arstechnica, and The Verge, among others. No news from raspberry.org as to whether they’re going to fix the flaw. Of course, they’re pushing their own 15w power supply. Kind of disappointing that they’ve gone bad boy commercial.

FGPA Books Review – Part 1

Well, I’ve picked up a few intro to FPGA books and I’ll try to give a brief review of each of them.

The first book is Make FPGAs by David Romero, ISBN 978-1-457-18785-8. It was published in 2016, and the material is dated. The example project in Chapter 2 is done using the Opal Kelly XEM6002, which according to the Opal Kelly web site is a $175 board with a Xilinx Spartan-6 XC6SLX9-2 FPGA chip on it. It has to be this relatively old chip because the software David uses is the old and mostly unsupported Xilinx ISE WebPack. This software doesn’t support newer hardware, like the Xilinx Zynq-7020 that’s in the Snickerdoodle Black that I bought. I haven’t had a chance to delve into the Snickerdoodle Black documentation, but from what Krtkl said in the blog posts leading up to the release of the Snickerdoodle, the Black comes with a development kit from Xilinx. I’m guessing it the Vivaldo Design Suite that David talks about. 

The book takes you through a few other projects, chapter 5 uses an Elbert V2 – Spartan 3A FPGA Development Board costing $30. Most of the instructions in this chapter are predicated on using a Windows computer, a major impediment to people who prefer Linux as an operating system.

Chapter 6 uses a Papilio DUO costing $89.  As you can see, the book assumes you have approximately $1000 to bury in hardware and hundreds of hours of reading documentation not included in the book.

More to come…

More Arduino gear

Well, I just ordered a new new batch of Arduino gear. This time it’s a couple of Mega 2560s and 3 Arduino Dues. I’ve been working on projects that need more connectors and more space on the processor that a Arduino Uno R3 provides.

Like it says the the Arduino website,

The Arduino Mega 2560 is a microcontroller board based on the ATmega2560. It has 54 digital input/output pins (of which 15 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. The Mega 2560 board is compatible with most shields designed for the Uno.

And the site says this about the Due,

The Arduino Due is a microcontroller board based on the Atmel SAM3X8E ARM Cortex-M3 CPU. It is the first Arduino board based on a 32-bit ARM core microcontroller. It has 54 digital input/output pins (of which 12 can be used as PWM outputs), 12 analog inputs, 4 UARTs (hardware serial ports), a 84 MHz clock, an USB OTG capable connection, 2 DAC (digital to analog), 2 TWI, a power jack, an SPI header, a JTAG header, a reset button and an erase button.

Warning: Unlike most Arduino boards, the Arduino Due board runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board.

The board contains everything needed to support the microcontroller; simply connect it to a computer with a micro-USB cable or power it with a AC-to-DC adapter or battery to get started. The Due is compatible with all Arduino shields that work at 3.3V and are compliant with the 1.0 Arduino pinout.

The big with this one is the power requirements.