Thursday, December 31, 2020

ArcticFox now on Raspberry 3 - ARM support is back!

Just completed these days... ArcticFox now runs fine on Raspberry PI 3, it also compiled natively on it on Raspbian!

Coming from PaleMoon which had dropped ARM support, it took quite some time, but it is kicking again and the classic browser is a good companion on the Raspberry!

It runs surprisingly good and you can even watch youtube videos. Obligatory screenshot as proof:


In fact, this same post was written on my RPI3. While I was able to fix neon support in graphics, I have issues doing a cortex-a53 optimized build. I also have issues compiling on the newer RPI3 which as a newer Raspbian/RpiOS, with similar errors. However, seeing ARM support back is a good feeling .

DataBasin 1.1 S released

DataBasin 1.1S and DataBasinKit have finally been released, after a long time-span.

This release is dedicated to my late friend and colleague Steven Rovelli (hence the "S" in the release name) who parted from us too young. He was an enthusiastic user of DataBasin and used and supported it inside our company, for countless AMS tasks. COVID-19 carried him away and he will be sorely missed.

This release is marks also the move from the GAP svn repository, to standalone projects on GitHub.

DataBasin sports some interesting news:

  • Improved interface with ComboBoxes to select update/insert objects and preferences to filter out more system objects
  • remember last successful login username
  • getUpdated / getDeleted
  • Undelete
  • Improved support for sub-objects and lists and unpacking (from DataBasinKit), this allows for example to use sub-queries, provided the related object is one (LIMIT 1)
  • support for enabling Assignment Rules in create/update

The core DataBasinKit has also many improvements,, some of them are not completely appreciated from the GUI interface, but useful for other programs wishing to use the API:

  • enhanced and rewritten handling of sub-objects and object-lists in query results: this allows to have SObject lists interpreted as such when using subqueries.
  • getUpdated and getDeleted
  • undelete
  • possiblity trigger Assignment Rules in create & update

Monday, December 21, 2020

LCD Display on RaspberryPI with Objective-C

Since many years there are ways to display Data on the Raspberry PI by using small LCD Displays connected to the GPIO pins. Most of these small projects however use Python, an interpreted language which I dislike. There are C projects using the wiringpi library and which are inspired by Arduino versions, I have looked at this nice work by binerry which concentrates on the PCD8544 (aka known as the Nokia 3310 display!).

I studied it but wanted to use the Objective-C language which I like much more and which will enable me in the near future to leverage existing Kits. I had some doubts about speed and interoperability, so I started by "wrapping" the C functions with an Objective-C class. The proof of concept worked fine, so I went on to write more native library.

SPIDisplayKit is thus born - requiring GNUstep Base only and providing an AppKit inspired interface to the Display - e.g. Coordinates to the methods are passed with a struct, similar to NSSize or NSRect, but simpler, since they are direct integer without any transformation, scaling or other support and thus eliminating the need of floating point:

Look in this video the result running on an original Raspberry PI 1:



Objective-C + GNUstep + Raspberry PI + PCD8544, the code of this trivial Pong example is full Objective-C and very easy too!

This opens the road to a lot of nice examples, since Data Management and Connection Management supplied by GNUstep Foundation is so convenient, but the speed of Objective-C (here with the GNU GCC runtime) are more than enough!