RPC followup

A year ago I wrote about RPC (https://mcturra2000.wordpress.com/2017/07/12/rpc-my-own-thoughts/), presenting a negative view. Since then, the shares have fallen 3.6% from 773p to 745p, whilst the ASX has risen 4.0% from c. 4025 to 4187.

What worried me was:

  • a chart that seemed to be reversing
  • debt that was too high for my liking
  • mediocre ROCE
  • acquisition-hungry

I guess I get to claim “victory” in my prediction, although it could easily have been wrong. I am just doing this write-up for completeness.

Reading the BBs (Bulletin Boards), the subject of acquisitions is mentioned quite a lot. analysts at Northern Trust thought that acquisitions were disguising structural problems. At the time, it said that it had completed 10 deals in 12 months. They said that the management had been encouraged to pursue value-destructive acquisitions, and had some of the most aggressive accounting they had seen.

Stockopedia gives it a quality score of 84, which is quire respectable. The StockRank is 81, also quite respectable. So perhaps I had been too negative in my original assessment. For my money, I am happy enough to be out of the share.

745p

I’m not a footy fan, but good luck to England in the semis tonight. Is football coming home? We shall see. Stay safe out there.

Advertisements
Posted in Uncategorized | Leave a comment

Magic Hat: MGNS in, LSL out

The MHP (Magic Hat Portfolio) on Stockopedia (http://www.stockopedia.com/fantasy-funds/magic-hat-463/) is an experiment by me to see if a human can improve on a mechanical Greeblatt Magic Formula screen. I am trying to weed out “mistakes” that I feel the screening commits: unseasoned companies, scams, foreign companies (particularly Chinese), fishy accounting, and statistical quirks. Apart from that, I am agnostic as to the sector the company operates in, although I will try to avoid heavy concentration in any one sector. I will mostly apply “Strategic Ignorance”, by which I mean that I wont try to be clever in my stockpicking. My picking will be mostly mechanical. A summary of most of my Magic Hat articles can be found on the web page http://www.markcarter.me.uk/money/greenblatt.htm This will allow you to see, at a glance, what shares have been bought and sold in the past, as well as what shares have been rejected from consideration and why.

LSL leaves the portfolio by rotation, having gained 10% over one year. Not fantastic, but it beat the ASX (FTSE All Share Index), which was only up 0.4%.

Construction & Engineering company MGNS enters the portfolio on account of qualifying for the Greenblatt Screen and having a Stockopedia StockRank in the 90’s.

That’s enough talk about money. It’s time to go outside and enjoy some sunshine. Stay safe.

Posted in Uncategorized | Leave a comment

Magic Hat: CTO in, EPWN out

The MHP (Magic Hat Portfolio) on Stockopedia (http://www.stockopedia.com/fantasy-funds/magic-hat-463/) is an experiment by me to see if a human can improve on a mechanical Greeblatt Magic Formula screen. I am trying to weed out “mistakes” that I feel the screening commits: unseasoned companies, scams, foreign companies (particularly Chinese), fishy accounting, and statistical quirks. Apart from that, I am agnostic as to the sector the company operates in, although I will try to avoid heavy concentration in any one sector. I will mostly apply “Strategic Ignorance”, by which I mean that I wont try to be clever in my stockpicking. My picking will be mostly mechanical. A summary of most of my Magic Hat articles can be found on the web page http://www.markcarter.me.uk/money/greenblatt.htm This will allow you to see, at a glance, what shares have been bought and sold in the past, as well as what shares have been rejected from consideration and why.

EPWN (Epwin) leaves the portfolio by rotation, having lost 33% during its year in the portfolio. Its Stockopedia StockRank is 95, so for all I know, it’s still a good stock to hold. Its share price to free cashflow is approaching 10, and debt looks reasonable, so it may be in quite good value territory is the price goes down much more.

Construction and Engineering company CTO (T Clarke) enters the portfolio, having net cash, a P/FCF of 7.3, and a StockRank of 94. Looks good. It seems to have wafer-thin profit margins, which might put people off.

Well, that’s me for the month. The portfolio change is a little earlier than usual, because I’m taking a much-undeserved holiday to Majorca. Take care, and stay safe out there.

Posted in Uncategorized | Leave a comment

Using std::variant as YYSTYPE/yylval in gnu bison for C++17

My blang project, which is a BASIC interpreter, uses  top-down recursive-descent parsing. I have been wondering if I could obtain better mileage from using flex/bison.

Bison is quite old now, having last being updated in 2015 at version 3.0.5. So it is not up to speed with the latest C++ standards.

Although bison does support C++, and even it’s own spin on variant values for YYSTYPE/yylval, I found the documentation impenetrable. It almost seems to work, but I couldn’t get it to do quite what I wanted. You seem to be faced with the alternative with adding a whole mass of infrastructure to accommodate bison, or else do things the C way. The documentation on using C++ in bison is opaque.

My real problem stems from being able to express the type of the parse node. The C way is to use a union of pointers: not the sort of thing we want when programming in C++.

Now, it turns out that you can use a variant for YYSTYPE. I present below a simple skeleton file (variant.yy):

%{
#include <string>
#include <variant>
typedef std::variant<std::string, double> value_t;
#define YYSTYPE value_t
extern YYSTYPE yylval;
int yylex();
void yyerror(char const *s);
int main();
%}

%token FOO

%%

top:
 FOO { $$ = $1; }

%%

int yylex()
{
 yylval = std::string("hello");
 return FOO;
}

void yyerror(char const *s)
{
}

int main()
{
 return 0;
}

It is available as a gist .

There’s a lot wrong with this example, of course. yylex() doesn’t do very much, for example, and main() doesn’t even call yyparse(). But that’s not the point. The point is to show how you set up a parser to generate variants as heterogeneous intermediate branches of the parse tree.

I am only at the experimental stage of rewriting my blang parser, but I am hopeful that the code I write using bison will be shorter than my top-down implementation. I shall report back my findings when they are available.

Posted in Uncategorized | Leave a comment

Magic Hat: PAY in, WIN out

The MHP (Magic Hat Portfolio) on Stockopedia (http://www.stockopedia.com/fantasy-funds/magic-hat-463/) is an experiment by me to see if a human can improve on a mechanical Greeblatt Magic Formula screen. I am trying to weed out “mistakes” that I feel the screening commits: unseasoned companies, scams, foreign companies (particularly Chinese), fishy accounting, and statistical quirks. Apart from that, I am agnostic as to the sector the company operates in, although I will try to avoid heavy concentration in any one sector. I will mostly apply “Strategic Ignorance”, by which I mean that I wont try to be clever in my stockpicking. My picking will be mostly mechanical. A summary of most of my Magic Hat articles can be found on the web page http://www.markcarter.me.uk/money/greenblatt.htm This will allow you to see, at a glance, what shares have been bought and sold in the past, as well as what shares have been rejected from consideration and why.

I was able to adjust the MHP portfolio on Stockopedia today, despite it being a bank holiday. By rights, I don’t think that should have been possible.

WIN (Wincanton) is ejected from the portfolio by rotation, having clocked up an 83% gain since its purchase in July 2014. Not bad at all. It still qualifies for Stockopedia’s Greenblatt Screen, but it has a rather poor overall StockRank: 56. I opted to replace it with PAY (Paypoint), which has a SR of 81.

That’s about it, really. Enjoy the rest of your bank holiday. I hear that the weather has been excellent in many parts of the UK. Unfortunately, it’s been rather dour up here in Scotland.

Stay safe.

Posted in Uncategorized | Leave a comment

#ubuntu1804 and #gnome

I had been running the Artful Aardvark, and decided to upgrade to Bionic Beaver. I downloaded lubuntu, because I wanted a lighter-weight install, and I was ambivalent about Gnome.

After awhile with LXDE, I decided to install Ubuntu’s standard Gnome desktop.

A big dislike I had with Gnome is the “workflow”. If I am working on a development project, I like to have a large half-width vim session open on the left-hand side. On the right-hand side I will Firefox for reference purposes, and umpteen other terminals. These terminals are used for compiling, grepping, running unit tests, and ad hoc testing.

This creates a clutter of terminals, and it’s not easy to navigate to the right one if it is obscured by Firefox.

So my main gripes with Gnome are/were:
* poor support for complex layouts
* resource pig. My PC is fairly quiet. It is a small form-factor PC, with a tendency to be throttled at high CPU intensity. Gnome and Firefox seem the biggest consumer of resources, and I dislike hearing my fan whirling around as it tries to service these apps.

I would say that Gnome, and in particular Ubuntu’s styling, to be the best I have ever seen on any platform. The styling has come a long way from its monkey-excrement brown days. Windows XP/7 default scheme is not to my liking. However, it only takes a few short tweaks to make it look much more serviceable. I tried Windows 8 layout for a short while, and I have seen what Windows 10 looks like. Both are retrograde steps.

I have stopped using Macs in 2010. I bought one in 2007 (Tiger?). The styling, as you’d expect, was excellent. I upgraded the OS for free (Lion?). In some ways, the styling was better, and in some ways it was a little worse. It was gorgeous, but I think that in the final analysis, it was “overproduced”. Its failing was that it was “too” gorgeous, if that makes sense. The Macs typographical choices could have been better. Windows fonts tend to be dull, but serviceable.

To recapitulate, Windows XP/7 tend to be too saccharine out of the box, but they’re easily tamed into something dull, but working. Actually, dull but working is a good thing! Windows 8/10 … well … what were Microsoft thinking?

Gnome, as I have said, has the best aesthetics I have seen. I am glad that, FINALLY, someone gets desktop design. UI design is about a subtle combination of good looks and RESTRAINT.

The icon set of Gnome is appealing and the fonts are pleasant. Linux has traditionally been poor on fonts, and has been something that has bugged me for a long time. The fonts on Ubuntu are faultless.

One UI design that I like to see is the convention that active windows should have a distinctly darker title bar from inactive Windows. Nearly all window managers just don’t get this simple design right. Gnome is also remiss on this score.

Exploring LXDE, I find there’s a couple of things I miss from Gnome. I am exploring using LXTerminal on Gnome. This allows multiple tabs on the same terminal. This allows me to have the multiple subtasks that I need for carrying out development, but I can switch between two major terminal tasks using Win-`.

So I think I will stick with Gnome for awhile, and see how the combination suits me.

Perhaps using something like dwm is a good choice for me, too. I shall think about it.

Really good usability has yet to be cracked for complex tasks. One idea that I had was for multiple layouts. I do not mean virtual desktops. What I mean is the same windows laid out in multiple ways. You would then switch layouts for the subtask in hand.

Finally, a rant about Firefox and web designers. FFS, how can rendering web pages be so resource intensive? What is wrong with everyone? Can we not just keep poxy javascript to a minimum? Web pages should be mostly just text. OK, if you’re Youtube, you get a pass for resource usage and web complexity.

And here’s something that I think is poor design: web banners! Think about it, the top of web pages normally have large banners on them. So the most useful part of the page is covered by pictures that convey very little information. Sure, the page may look good, but I place emphasis on functionality over form.

Now, I’m off stop install an adblocker.

Posted in Uncategorized | Leave a comment

AIR – down nearly 20%

Aviation services company AIR (Air partner) is getting hammered again today, I see. It is down 19.8% to 83p.

As early as March, it reached a share price of over 150p. The big drop is attributable to the year-end update issued on 3 April:

The Board of Air Partner has identified, during the course of its year-end review process, an issue predominantly relating to its accounting for receivables and deferred income. …

They quantify the amounts involved:

the Board presently understands that the cumulative amount … is approximately £3.3 million

The shares, obviously, dropped when the announcement was made, with a further fall today.

AIR is of particular interest to me, because it is a share that I have never owned, and in fact stood on the sidelines enviously as others made a packet out of this company.

Paul Scott commented about the over on Stockopedia on 3 April:

This seems to be saying that bad debts … were not written off through the P&L. Instead they were offset against a balance sheet creditor

He wavered in his opinion, but said:

Overall, my feeling is that share price drop of around 20% today looks about right. It’s very concerning that the company appears to be admitting today to having falsely accounted for bad debts, and hence boosted cumulative reported profits by £3.3m. … Based on today’s announcement, I don’t see any reason to panic.

It seems that news was expected today to update the market, although I do not see any official mention of it. So maybe that’s just speculation. Given that the time is now 4:17pm, all I can say that if there is news issued today, it will likely be atrocious.

Answers on a postcard.

I note that the company’s P/FCF is 8.5, and that it reports net cash. I am not a holder.

83p

Posted in Uncategorized | Leave a comment