Up to Main Index                              Up to Journal for June, 2019

                     JOURNAL FOR SATURDAY 29TH JUNE, 2019
______________________________________________________________________________

SUBJECT: Raspberry Pi 4 + matcher fixes
   DATE: Sat 29 Jun 18:40:18 BST 2019

Exciting news this week as the Raspberry Pi 4 has been launched. The following
are a few niggles and observations only. I think the Raspberry Pi team have
done a fantastic job and in no way want to knock them.

I’m a little unhappy about the switch to a BCM2711 Cortex-A72 core as it now
makes the Raspberry Pi susceptible to Spectre vulnerabilities[1]. Looking at
the documentation for the BCM2711[2] it says the processor is still using the
ARMv8 instruction set and not the updated ARMv8.5 which has some additional
mitigations. The Linux kernel already has a lot of mitigations so I’m not too
worried.

From information I have seen it looks like the cryptographic extensions have
not been included on the BCM2711 which is a shame. The Raspberry Pi makes a
good little server but can be hampered when handling SSL/HTTPS connections.
Having said that, from what I have seen, performance of SSL/HTTPS seems to be
about 2x that of a Raspberry Pi 3 Model B.

With the introduction of a model with 4GB RAM it becomes very viable as a
desktop replacement for me. Why would I use a Raspberry Pi 4 as a desktop?
Well, because I can? It would reduce heat and noise in my study which would be
very nice[3]. My needs are simple and I don’t need a lot of power, just RAM. I
don’t use my machines for gaming, just for software development. For a desktop
I mostly need Vim, Mutt, Git+Tig, Go, Apache, MariaDB, PHP and either
Google Chrome or Chromium. Of those it’s Google Chrome / Chromium that is the
memory hog. If it wasn’t for the web browser I’d happily be using my Raspberry
Pi 3 Model B as a desktop.

In fact if it wasn’t for the web browser I’d be happily working on the text
console[4] using dvtm instead of using X11 and dwm — even on my current PC. I
guess I’m still a ‘green screen’ text terminal guy at heart :)

I now need to find some money for a Raspberry Pi 4, a new case, a micro HDMI
to HDMI cable, a cooling fan and a USB-C power supply. About £85 in total. It
will be a while yet before I can get a Raspberry Pi 4, giving time for any
kinks and issues to be ironed out :)

Enough of that. What about WolfMUD?

I’ve been busy writing tests for the GET command and refining how I’m writing
tests in general as I go along. As a result of the new tests a few fixes have
worked their way over to the public dev branch:


  - The matcher now sets a maximum limit of 9,999,999 for ranges instead of
    allowing for the possibility of an integer value overflowing.

  - The GET command now handles the specific case of trying to pick up another
    player. Previously picking up a player or a narrative gave a general “For
    some reason you cannot get X” unless the message was changed by a veto.

  - The GET command now uses TheName instead of Name for the actor. This is to
    handle cases where a mobiles gets something. For example: “You see a
    barman here” but for GET “You see the barman get a tankard”.
                                      ^^^

  - The cmd.NewTestPlayer function now takes an additional string parameter
    for an alias. This is used to add an alias to players so that they can be
    referenced during tests.


The second point above is interesting as we still can’t put a Veto on a player
to veto the GET command automatically and provide an alternative message. I
need to revisit vetoes and work out a better method for how they are applied
to locations, containers and items. I suppose I should look at that now so as
to fix the GET command properly…

--
Diddymus

  [1] ARM Developer, security updates, speculative processor vulnerability:
      https://developer.arm.com/support/arm-security-updates/speculative-processor-vulnerability

  [2] Currently it’s a toasty 29°C in the study.

  [3] Raspberry Pi 4 Model B datasheet (PDF):
      https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/rpi_DATA_2711_1p0_preliminary.pdf

  [4] Working on the console can be very liberating with few distractions for
      when you really want to just get stuff done.


  Up to Main Index                              Up to Journal for June, 2019