Wednesday 20th March 2019: 8.35pm. So I was complaining last day about how my new Threadripper workstation didn't seem much faster. Today I compiled the entire work codebase. What took over two hours on the Ivy Bridge workstation now takes fifteen minutes! Which is pretty impressive, really.
Welcome to ned Productions (non-commercial personal website, for commercial company see ned Productions Limited). Please choose an item you are interested in on the left hand side, or continue down for Niall’s virtual diary.
Niall’s virtual diary:
Started all the way back in 1998 when there was no word “blog” yet, hence “virtual diary”.
Original content has undergone multiple conversions Microsoft FrontPage => Microsoft Expression Web, legacy HTML tag soup => XHTML, XHTML => Markdown, and with a ‘various codepages’ => UTF-8 conversion for good measure. Some content, especially the older stuff, may not have entirely survived intact.
- A biography of me is here if you want to get a quick overview of who I am
- An archive of prior virtual diary entries are available here
- For a deep, meaningful moment, watch this dialogue (needs a video player), or for something which plays with your perception, check out this picture. Try moving your eyes around - are those circles rotating???
You can find the posts here replicated onto Diaspora, if you prefer to subscribe there instead.
I bought the Ubuntu rather than Windows edition, as it’s €100 cheaper and I have a licensed Windows I’ll be taking off this Macbook on which I am currently typing, probably for one of the last times (its contents are currently being duplicated onto my ZFS storage array, from where it will be copied onto the Dell). I was also aware, from research, that the Ubuntu edition has a higher chance of arriving with Samsung rather than Toshiba NVMe storage (you really want the Samsung), and the Sharp rather than OU Optronics 4k display panel (again, you really want the Sharp panel). What you lose is the fingerprint reader built into the power button, which doesn’t work in Linux anyway because the assholes encrypted the USB stream and refuse to let anyone use it. So as much as fingerprint login would indeed have been nice, I expect I’ll be awaiting a few years more yet (the fingerprint reader on the MacBook didn’t work in Windows).
I’m glad to report that my Dell does indeed have a 512Gb Samsung NVMe drive, and the 4k Sharp panel. The Samsung drive is an OEM edition of the 970 EVO, and it is very fast indeed, at least for the first 20Gb of sustained writes. As for the 4k Sharp panel, when I first logged into Ubuntu I found it deliberately drops the resolution to 1080p, which is exactly one quarter of the 4k panel (video still renders at 4k). This turns out to be the fault of GNOME, which I dislike anyway, so upon installing KDE and telling KDE to triple the size of the fonts, voilà, there is my 4k GUI.
And it looks very nice indeed. I downloaded some 4k HDR content, played it back, noticed that it does struggle a little with keeping the framerate smooth for 4k content @ 60 fps. Probably fixable if I tinkered with the Intel drivers, the video is actually being decoded and rendered in hardware by the onboard Intel graphics chip, and I’m very sure it’s a driver issue. 4k content @ 30 fps is absolutely fine.
However, the content doesn’t actually render in HDR. Turns out that Linux is still not capable of rendering HDR content, unless you’re on Wayland instead of Xorg. I tried Wayland, and it was a disaster. Far too slow to keep up, at least in Ubuntu 18.04.
That prompted me to install Windows which I needed to do anyway, and after a lot of head scratching I discovered that Microsoft have removed the HDR video codecs from the latest Windows, if you install it clean. If you upgraded, the HDR codecs remain. Arse, and hardly intuitive. No helpful error messages, just a black screen. Thank you Microsoft. I ended up falling back to VideoLAN, whose latest version has direct support for Intel onboard graphics decode of HEVC HDR 4k content, and the HDR videos there played just fine, and in glorious HDR.
What looked merely very nice indeed in Linux now looks glorious. This is a better display, by quite some margin, than my 2016 MacBook. It’s not just the colours, and the ‘pop’ of the HDR video. It’s also simple stuff like text – the MacBook is no slouch with its 2.5k resolution panel. But text, and fonts, on the 3.8k Dell panel are noticeably sharper and clearer, as much as the +50% extra pixels would suggest. Text looks like a printed page, whereas on the MacBook text looks quite fuzzy in comparison, even when not comparing side by side.
So on the display panel at least, the Dell wins by a long shot, though it is much less verticially high, 16:9 ratio instead of 16:10, which is a noticeable regression. Using the machine I find it noticeably snappier, whether that’s simply a fresh Windows installation, or the four core CPU rather than two core CPU, I cannot say. But on every other factor, the Dell is inferior. Wifi is 2x2 11ac rather than 3x3, so bulk transfers over Wifi take a good bit longer. The keyboard backlighting has two stops, 100% or 50%, unlike the graduated MacBook backlighting. The Dell screen won’t drop anything like as low in brightness, making it annoyingly bright to use in a dark room. The keyboard, whilst better than average, isn’t as nice to type on as the MacBook’s, though undoubtedly much more reliable. The touchpad isn’t a patch on the MacBook’s world class pressure sensitive huge area with its famous faked ‘clicking’. Battery life is perhaps seven hours, instead of nine hours.
And perhaps the biggest delta of them all is the laptop speakers. The Dell’s are not awful speakers. But they’re in a different league to the MacBook’s speakers. Even in Bootcamp Windows where the bass mysteriously disappears, the MacBook has far better speakers than the Dell. And if booted into MacOS, it’s not even a meaningful comparison between the two, the MacBook’s speakers are a world away from the Dell’s, particularly in the bass and high ends, which the Dell’s speakers don’t appear to emit at all. Don’t get me wrong, the Dell’s speakers sound as good as a high end phone, like my HTC 10. They are good speakers, for a laptop. But they’re night and day to the MacBook Pro’s speakers, which make an honest attempt at actually replicating faithfully the source audio, even if falling far short of headphones.
So, as anticipated before purchase, the Dell XPS 9380 is indeed inferior to the MacBook Pro on most counts, even a 2016 MacBook Pro. But, then again, it does cost 60% less.
Returning to Ubuntu, when I first started using it on the Dell I was like “wow hasn’t Linux become so mature”. But then I used Windows on the same hardware, and yes, Linux is better on a laptop than it has ever been. But it’s still inferior to Windows on the same hardware. 4k HDR video @ 60 fps after all, but also Windows got the 4k display correct out of the box. That said, Linux power efficiency is finally commensurate with Windows. I spent a fair few hours trying to tweak the Linux config for improved power consumption, i915.enable_psr and all that, and I actually found all the internet advice (for older editions of the XPS) is actually a pessimisation. The only kernel setting which is worth applying, according to my empirical testing, is “mem_sleep_default=deep” which forces S3 rather than S1 for sleeping the laptop. This reduces battery drain when the laptop is ‘off’ in Linux very markedly, perhaps roughly half by my measurements. Not as good as on Windows, but not dissimilar. And far away from the battery draining completely within a day, like it was before.
Other than that, all the other parameters I fiddled with didn’t seem to make any empirical difference. Well done Dell on finally shipping an Ubuntu with your laptops that is reasonably customised to the hardware quirks that you are shipping!
This MacBook Pro, after being securely wiped and factory reset, shall be heading off back to Apple to get its keyboard and panel display power cable replaced under Apple’s product defect remediation programme. After that, it’ll be heading to eBay to recoup as much money as I can get for it to offset the purchase of the Dell laptop.
I don’t regret buying the MacBook. I got three years of a pretty good laptop experience for about €1000 of depreciation. It was the best ultra portable laptop at the time, and probably still is today. But as mentioned in my previous posts on this topic, the Dell XPS 13 is far, far closer to a MacBook Pro than it was, and for much less money. From my first week with the XPS 13 9380, I am currently finding the downgrade to be eminently worth the money saved. The Dell is a better bang for the buck laptop. And oh my, that 4k display really is quite something to behold, even with its dire impact on battery life and graphics performance. After all, most of what you do with a laptop other than typing and touchpadding is looking at the thing. Plus no more paranoid hygine around the keyboard, I just ate a slice of toast there two meters away from the MacBook keyboard, for fear of jamming the thing up again. Once I’m onto the Dell, I can return to relaxation, eat when watching movies etc. For an estimated €700 of depreciation over the next three years, so far all is looking well!
The big standout this year is the enormous drop in the price of flash storage over last year. Right now, you can buy more than twice the size of flash drive for the exact same money as this time last year. This is why the bytes-per-dollar for flash drives this year has jumped up above its trend line, though if you look closely, flash storage has actually resumed the trend line it was on up until 2015, after which it stagnated for a few years. The cause for such a value improvement is the current massive surplus of flash storage on the wholesale market, manufacturers are drowning in red ink trying to shift stock before the world economy enters recession again, so the current prize bonanza won’t last. If you were on the fence about purchasing a NVMe Samsung 970 Pro SSD, you can pick up a 512Gb model for about €160 right now. Crazy cheap for what is a stonkingly fast drive. I should know, I bought one for my new Threadripper rig, even though I know that you can get a 1Tb 970 EVO Plus for just a little more money, and it’s just as fast up until its SLC cache runs out (after about 60Gb of writes without breaks).
Spinning rust storage continues its steady improvement. They are clearly trying to clear out the stock of 4Tb drives, those are selling super cheap right now, you can see its marker standing out above the others.
The other news is that, as I predicted this time last year, Intel have no intention of making XPoint non-volatile memory price competitive with flash storage. As I suggested this time last year, I think they’re going to track the price of flash storage, but at 3x the price per byte as their stuff is superior, and if you need what XPoint provides, you’re going to pay up. That said, the large improvement in flash storage pricing means that XPoint is now 8x the cost, and while it might be 3x better for QD1 random 4Kb read latency, it’s definitely not 8x better, so Intel may have to cut their margins.
In case you’re looking for the raw numbers for all the historical prices, you can find them at https://www.nedprod.com/studystuff/SSDsVsHardDrives.xlsx.
As I explained in general terms in the previous post, this sort of investment is brittle. In the longer term, roughly once every twenty to thirty years per region, the entire system collapses and needs to be bailed out by the government. Having already discussed the big picture risk, I wanted to dig into the specific risks of investing specifically on Mintos, which is by far the largest fintech of its kind in Europe, and perhaps will soon be unquestionably also so anywhere in the world given it is growing at ~350% per annum.
My third and fourth posts on this topic will discuss my personal strategy for investing in loans on Mintos, but before that, I’ll try to list all the risks which I personally can see on Mintos, ranked in order.
1. Platform risk
This is the main reason I avoided investing any money in peer to peer lending platforms at all until now: I don’t trust the security of 98% of web platforms. They are generally written in a rush by inexperienced, underpaid developers, insufficiently tested, and other people’s money is not given sufficient care of duty. Very frequently, startups get hacked, money rerouted or stolen, and your money goes missing. Most startups can afford to silently replace stolen monies up to a point, but past a point they go bust, and you lose everything.
And even if there is some competent programming and testing going on, and an arm’s length secure storage of other people’s money is rigorously enforced, then you have big risks in one or all the startup founders running off with your money, secretly competing against investors or tipping the playing field in their favour so you on average lose out, and lots worse still.
For all these reasons, I have avoided this entire area completely for the past two years. And I’d still avoid 99% of the platforms yet for the same reasons.
Mintos have been running now for four years, and were only big enough to get sufficiently noticed by criminal hackers for about two years now. So their web platform is probably reasonably debugged by now. Even then, I absolutely refuse to ever place my money with anywhere, including major banks, without a separate device One Time Pad (OTP) login option, either using a separate physical hardware token, or more often an app on your phone nowadays. Mintos only added 2FA in October 2018, and thus only from then onwards did they become an option for me (and I didn’t have the spare cash from then until now to invest, due to the Verizon contract ending in November 2018).
Mintos are now handling €200 million a month, have 2FA, and so I’ve become just about convinced that the risk is worth it. However, remember that although Latvia is an EU country with strong Scandinavian characteristics, company regulation and enforcement is not on a par with say, Sweden. The Latvian financial regulator has presided over a raft of major financial scandals recently, including widespread money laundering by financial institutions, though it is very important to note that the crimes were done by Latvian branches of Western banks, rather than Latvian banks. The point is that they don’t have the resourcing which say financial regulators in Britain have, nor the influence and weight to cow multinational banks into behaving well, and they certainly have granted unusual leeway to financial innovation compared to anywhere else in the world. In short, I wouldn’t count on strong financial oversight from the Latvian regulator.
2. Loan originator risk
Mintos is a marketplace, and there are currently about sixty firms advertising their loans for purchase on Mintos. Some of those firms are squeaky clean, models of transparency and good governance, with extremely healthy balance sheets. Some others have been loss making for years, provide almost no information at all about their internal operations, and some are possibly even money laundering fronts. Just as with investing in individual company stocks, it’s a wild west out there. You need to do your research before investing your money with a given loan originator.
This is particularly important because of ‘Loan buyback guarantees’. Because retail investors hate to lose money, most of the loans on Mintos come with this guarantee by the loan originator that you will never lose capital, only profit, if an individual loan sours. Most of the loan buyback guarantees (it varies per originator) kick in after 60 days of non-payment of loan installments – you get to keep all the interest payments up to that point, and you get your invested capital back. This dramatically lowers the risk for the retail investor, *so long as the loan originator is solvent!*
The loan originators, in turn, implement buyback guarantees by reducing a little bit the rate paid on loans with buyback guarantees, and using that pool of money to pay back capital for any loans which default. Some loan originators e.g. car loan giant Mogo offer the same loan on Mintos with and without buyback guarantee, that way you can choose whether you want a higher average rate of APR with more risk, or whether Mogo should take on the risk and keep more profit.
Obviously enough, this makes a buyback guarantee for a loan stretching over years only as good as the loan originator’s finances. However Mintos are really big, so there is an army of people out there doing research, and publishing it to their blogs. The most famous is probably the http://explorep2p.com/mintos-loan-scanner/ ‘bubble chart’ of loan originator riskiness to coupon rate:
At the time of writing, ExploreP2P would strongly recommend against buying loans from the left side of the graph, which is Bino, EuroOne, Getbucks/Mybucks, Kuki, Kredo, Metrokredit, Peachy, Sebo, and Simbo, due to a toxic combination of weak balance sheets, lack of transparency, and a history of making losses.
Mintos themselves also give ratings of the loan originators on their platform. You can see their ratings and their loan originators at https://www.mintos.com/en/loan-originators/. You will note that their ratings vary a fair bit from ExploreP2P’s, and I would be personally minded to choose the intersection of the two i.e. only those originators not in the ‘bad list’ of both. Something to be noted is that Mintos gives different ratings to different subgroups of a given loan originator, so for example car loan giant Mogo has no less than nine Mintos ratings, ranging from A to B, which vary depending on which bit of Mogo is doing the loans.
You can of course do your own research! Mintos publishes the audited accounts and lots of links to the loan originators’ legal and financial documentation. You can also search Google for good or damaging news about the loan originators. You can check the loan contracts given to their customers, see if they look exploitative, or have anything weird about them in their fine print. I’ll be honest in saying that I wasn’t bothered enough to do more than a cursory pass for EUR denominated loans (it was was a very different story for GBP denominated loans, that’s in the final part of this post series): I just scratch the ‘bad list’ from both Mintos AND ExploreP2P for the AutoInvest bots, and I reckon that’s probably good enough for a numbers-game based investment strategy.
Finally, it might be worth looking into what happens when a Mintos loan originator goes bankrupt, as has happened once before with Eurocent. When Eurocent stopped honouring the loans, around €180k was outstanding to Mintos investors. Mintos submitted the claims for those investors as part of the Eurocent wind up, and they will eventually get paid back whatever percentage of their investment remains divided by all creditors equally. So, in case of loan originator bankruptcy, you will get back some percentage of your money after however many years it takes to wind up the business.
3. Moral risk
Loaning money to others is often seen as a ‘dirty’ business, but that’s not the kind of moral risk I mean here. More specifically, I mean unsecured, very short term loans (days, no more than a month) for a few hundred euro issued at many hundreds of percent APR. In British and US parlance, these are often called ‘payday loans’, though they are actually any form of very short term, unsecured debt at astronomical interest rates.
These are issued to people with a negative or non-existent financial histories i.e. too poor and marginal to afford loans. Due to their usurious nature, about half the borrowers get into real difficulty, rolling over short term loans repeatedly until eventually it all falls down. In Eastern Europe and Africa, this usually means a debt collector giving you or a family member a beating, or breaking a limb. Or firebombing your house. All this is as old as the ancients, which is why usury was a sin in biblical times, and long before even then.
Mintos, being a marketplace, doesn’t discriminate between all legal forms of loans. It’s up to you to not choose to invest in that sort of debt. Guidance on how to do that on Mintos is sorely lacking on the internet, because short term loans are amongst the most popular with Mintos investors, principally because (a) they pay the highest rates of interest (about 1% (i.e. 7-10% more interest) more than the highest form of non-short-term loans) and (b) people don’t have to bother selling their loans on the secondary market if they need to withdraw their money quickly. Such selfishness comes with an enormous cost in terms of human misery. Such loans often are at 600-700% APR to the borrower, yet the Mintos investor only gets < 20% APR. That gives an indication of just how much overhead goes on enforcement and collection of loans (and marketing and provision of course). And if you drill into the individual loan listings on Mintos, you’ll often see that the individual is on their fourth or sixth short term loan from the same provider. All I can say, is avoid, avoid, avoid.
For the remainder of these series of posts, I am going to assume that you don’t like your money doing evil to others, and my Mintos investment strategies are specifically designed to avoid any investment, whatsoever, in short term exploitative usurious loans. The Mintos blog post above actually tells you how to program the Mintos AutoInvest bots to avoid such loans:
- Avoid loans for less than €500.
- Avoid loans with borrower APR in the hundreds of percent.
- Avoid loans with terms of less than two months.
- Avoid loans with irregular amortisation structures (i.e. choose loans which repay an even portion of the principal monthly or weekly).
Finally, even if you don’t care about poor people and just want maximum returns, consider that a large proportion of unsecured short term borrowers default. As all interest on loans for less than a month is paid at the end of the loan, and assuming the buyback guarantee, that means that you get back your capital without interest. That, in turn, drags down your average return to much lower than the maximum rate.
Therefore, if you actually want to maximise your earnings, invest in loans with a lower rate of default. According to https://www.mintos.com/en/statistics/, at the time of writing perhaps 30% of short term loans do not pay any interest. That reduces a juicy 15% headline interest rate to middling 10.5%, which is below the current Mintos average return to investors of 11.89%. Food for thought!
4. Maintenance risk
Maintenance risk goes two ways. The first form is that loans get repaid in installments, which means ~1% of each loan appears as cash in your Mintos account each month, plus loans can be repaid early, and indeed often are for the higher APR loans. If early repayment in full happens, you get your capital and interest up to that point back, added to the cash balance in your Mintos account. That cash is then no longer earning, which is called ‘cash drag’ in the lending jargon. The way around this is to leave an AutoInvest bot always running, so it’ll automatically reinvest early repayments into new loans according to rules set by you. This is fine, however over time the bot may end up over-concentrating your portfolio into just one loan originator, or just one kind of loan, which ruins diversification and thus increases risk. So you do need to check, from time to time, how unbalanced your portfolio is becoming using Mintos’ very good graphing tools, and switch on, or off, different AutoInvest bots to retilt the balance in a new direction over time.
The loan originator and country diversification of my current EUR denominated loans on Mintos. Note how ExpressCredit originate nearly half my entire EUR portfolio, so I have stopped new loans going to them for now. Note also that nearly half my EUR loans are in Africa (that's ExpressCredit again!), with the remainder all in Eastern Europe.
The second form of maintenance risk is less obvious, and harder to address. Interest rates rise, as well as fall. If they fall, if you have invested in longer term loans which I strongly suggest that you do (details are forthcoming in the next two posts in this series, one on EUR loans, the other on GBP loans), then you’re sitting pretty as you’re earning more than the going rate. If however they rise, as they have done for EUR denominated loans on Mintos these past few months, then you may be sitting on loans paying less than what you could be getting. Moreover, your AutoInvest bots, being configured for lower interest rates, may well be purchasing new loans on your behalf paying far below what you could be getting.
Mintos usually send you a newsletter update when average rates increase, so it’s probably worth subscribing to that. And when it happens, you almost certainly want to reconfigure your AutoInvest bots to target the new, higher interest rate. However, be then aware that if average rates then drop, your AutoInvest bots won’t be able to find new loans at the higher rate. That means cash will mount up in your account, not earning, and you are back into ‘cash drag’.
So, all in all, you probably do need to login at least once a month, and do a bit of work checking how things are going, and reconfiguring if needed. And turn on the daily email statement of your account. This isn’t a completely ‘hands off’ form of investment.
5. Sale risk
As I mentioned in the last post, Mintos is huge, with a large and liquid secondary market where you can sell your loans to other investors, and thus quickly recoup your money if you need to exit suddenly. This sets it far apart from most competing fintech startups in the same field, which can take weeks to months to sell your investments to other investors. As great as this liquidity is, there is however a risk that you won’t recoup all of your money, and this is because of average interest rate movements.
If the loans you are selling pay less than new loans, you will have to offer a discount to buyers in order to get them to buy your loans. Often this is 0.5%, I have noticed for loans not in arrears, but it does depend on the spread between what you are selling, and new loans. You might think that a surplus would correspondingly be paid for secondary market loans which pay more than the current average, however a ton of investors won’t touch loans with a surplus, because loans can be repaid at any time, and that is at par i.e. you take a cash loss. That means that for a quick sale, you don’t get what great loans are worth, but you do have to pay for selling inferior loans.
This is one-way pricing pressure of course, and it operates against you cashing out early and retaining all the profit you have accumulated. Chances are good that the cost of sale on the secondary market won’t exceed a month’s interest, except if you’re trying to sell loans in arrears (don’t do that! Wait for the buyback guarantee to activate instead!). Still, this secondary market sale risk is worth mentioning if you expect to need to extract cash from Mintos in a hurry. Equally, if you can afford to take a few weeks, you can just wait for other people’s AutoInvest bots to buy your loans at par value, so you get back their full current worth.
6. Currency risk
Chances are that you, like me, won’t want to deal with currency risk, and so will only be willing to invest in loans denominated in your home currency, which for me is EUR. The problem with currencies is that they fluctuate and move unexpectedly – I should know, as I get paid in US dollars, and I’ve watched my EUR income drop by a few hundred euro per month these past few months. If you expect to keep your money on Mintos in the same loans for years, then I suppose it can make sense to pay for conversion into say, Russian Rubles (0.7% charge), Mexican Pesos (1.25% charge) or whatever they use in Kazakhstan (1.25% charge), and be aware you’ll pay the same charge to return to EUR. Given that the highest paying non-short-term loans in EUR are currently 15.0%, and in Rubles 19.0%, assuming no currency change then it would pay off after six months or so. But if the Ruble drops even by 5%, now you’re down. Equally, of course, it could rise by 5%, and then you’re laughing.
For me personally, currency betting is too risky. I don’t want the chance of losing money. And as you may have noticed from the country pie chart above, EUR denominated loans are not going to EUR denominated borrowers. Rather, the loan originator is taking on the currency risk, offering you a lower APR, so you don’t have the chance of seeing a loss.
Next two posts in this series
My next two posts will be on configuring Mintos AutoInvest for EUR, which is a very liquid currency on Mintos, and on trying to use Mintos for GBP, which right now is painfully illiquid since Mintos got its UK subsiduary licence refused by the UK financial supervisor, which led to all the UK investors fleeing, and UK loan originators yanking all GBP denominated loans (still, with a bit of work, one can still invest a few grand in GBP on Mintos, it’s just rather … manual). See you again soon!
There are other issues, too. Just recently I’ve developed the infamous problem of half the backlights along the bottom of the screen failing. This is due to wear and tear on the power cable at the hinge. Apple with replace that, and the keyboard, for free as both are defective, but then I lose my laptop for six to eight weeks, because all EU MBPs get sent to Romania for the repairs. So I’m minded to replace the whole unit, move over my stuff, wipe and sell the old one. Let somebody else with more time freedom bother with all that stuff.
Before I bought this MacBook Pro in 2016, I did a cost-benefit calculation where, at that time, once you subtracted the recoupment cost of selling the old laptop given then second hand prices for MacBooks, the MBP beat out the Dell XPS 13, which was my next choice. Unfortunately, I could not have known that the MBP 2016 onwards would have defective keyboards and many other issues. This has rather wrecked their second hand value:
2016 XPS 13 Originally cost €1,463 ex VAT, today on eBay €813 (-44% depreciation)
2016 MacBook Pro 13 Originally cost €2,162 ex VAT, today on eBay €1,056 (-51% depreciation)
In other words, I made the wrong bet three years ago. But there was no way I could have known. Apple did, once upon a time, not miss a beat with their high end laptops.
Also, back in 2016, the MBP was markedly superior to the XPS 13. Far faster SSD, better sound, better display, better wifi, longer battery life. I had expected to use MacOS for development, but as actually happened in practice, I never really did thanks to the new Windows Subsystem for Linux, which is a very fair substitute for MacOS, and doesn’t require rebooting. Running Windows under Bootcamp, I have had constant problems with the Wifi, whose Windows drivers just don’t work right. The sound is tinny, as the bass doesn’t work on Windows. The high gamut display isn’t recognised by Windows, and renders as ordinary gamut. That very fast SSD however, that does work very well, though you are in pepetual fear of the day when the laptop dies, because it’s soldered on, which means bye bye your data. The fact that the screen power cable is fraying particularly adds to my nerves on this.
So, all in all, I’m not feeling that that all that extra money back in 2016 – some €700 ex VAT extra – was particularly good value for money. Sure, it was the better laptop, but it did not come cheap.
Fast forward to today, and the latest Dell XPS 13 model 9380 has improved on almost every area when compared to the just released MacBook Pro 13 2019. For the 512Gb SSD, performance is very similar (it’s a high end NVMe Samsung SSD). Battery life is much better, though still a bit shorter, eight hours versus ten. Display has improved, though still not quite as good. Sound and wifi are still quite inferior to the MBP, but not if you’re running your MBP in Windows. Keyboard doesn’t have any of the problems which the MBP keyboard has. SSD is removable.
Oh, and the latest Dell XPS 13 model 9380 costs almost exactly what its predecessor did in 2016: €1,476 ex VAT. Whereas the latest MBP has larded itself up to €2,397 ex VAT, a +10.8% price increase, and a full +62.4% more expensive than the Dell.
If the MBP were markedly superior to the Dell, then it might be the case that that extra price increase would be worth it. But, the specs are far closer than they were back in 2016, and it was a bit of an ask even back then. For marginally better on every measure, and markedly worse on the keyboard, that’s a ton more expensive for what you’re getting.
Plus, in the end I ended up having no use for MacOS. In the three years I’ve owned this MBP, I’ve probably booted into it only a few dozen times. Windows Subsystem for Linux has been good enough, and end of this year will get a lot better, as Microsoft are going to start shipping a full Linux kernel inside the Windows kernel, and thus WSL programs will now run on real Linux, rather than a syscall emulated Linux.
Which means that almost certainly my next laptop will be the Dell XPS 13 model 9380, pimped out to the full with 4K screen, top end CPU etc, but coming with Ubuntu instead of Windows as I already have a spare Windows 10 licence. However, I’m going to sleep on it first. It’s a lot of money, and no need to rush a decision.
I’ll resume the articles about investing in subprime lending and Mintos shortly. I have the next installment mostly written. It should land soon.
That makes this type of investment a good fit for some of the cash that you might normally keep in a quick access bank account, because you can configure it so you never lose money, and you can get it back into cash within a week. That lets you proof all your cash savings against inflation, so you aren’t constantly losing value every year. For example, €100,000 in a ‘high yield’ instant access Euro savings account right now is paying 0.2% which is 0.1% after DIRT. But inflation is ticking away at about 1%, so you’re watching €900 of value evaporate every year. If you can get €10k of that €100k out earning 10%, you’re now preserving the long term worth of your savings. And you still retain nearly instant cash access, which is the whole point of holding cash in the first place. This particularly suits someone like me, who wants to buy a site on which to build a house, and may need all my cash at once within days.
But first, a refresher on how modern lending to individuals works.
A brief history of subprime lending 2002-2008
You no doubt remember that the 2008-2009 economic crash had something to do with ‘subprime lending’ in the United States. What the banks did back then was to take lots of mortgages issued to lots of people barely able to afford them (i.e. sub, or below, ‘prime’ borrowers), repackage them by splitting them into small pieces, and resell bundles of small pieces of lots of mortgages to other investors in a primary market of new debt. The theory was that by diversification one reduced the risk of losing your money, because each individual mortgage default could only affect a tiny slice of your investment. This meant that such bundles of small slices of many mortgages could be rated as less risky than just a bundle of ordinary mortgages, and thus the amount of cash that you needed to collateralise the debt could be lowered, and thus more cash put out to earn more profit by lending. This was great, lots of rich folk made lots of money, until enough subprime mortgages soured at once that the entire system collapsed.
Most educated people know the part above, more or less. What they aren’t usually aware of is how the rebundling of debt can suddenly go from fine and healthy to very, very bad so quickly. The reason is because many individual borrowers are hassle to deal with, so a loan originator specialises in dealing with the individual borrowers e.g. with call centers of staff who say no and are mean to people etc. They finance the money that they lend to individuals from wholesale money markets where investors buy collateralised debt which pays interest.
As the investor wants to make sure that the loan originator does not go soft on the borrowers with their money, most investors require the loan originator to fund a certain percentage of the loan out of their own money to ensure they’ll try harder to recoup on defaults, and any losses come out of the loan originator’s money first before any of the investor’s money gets touched. So, if subprime mortgages had a 10% loan originator funding requirement (‘skin in the game’), all is fine right up until 8-9% of mortgages by value default, as the loan originators all start making losses and burning cash reserves. If they run out of cash flow, they cannot pay their ‘skin in the game’ any more on future defaults. This causes the investors to rush to the door to sell, at a discount, their loans to somebody else on the secondary market, which is where people who bought debt can resell it onto other investors for a premium or discount. This rapidly cascades, causing losses to bounce around the entire debt market, until the whole thing collapses under the weight of everybody trying to dispose of souring debt all at once.
As one can see, this entire system is quite brittle. Traditional debt is bonds issued by governments and companies which pay a rate of interest. There is a direct relationship between the borrower and investor, so there is no need for ‘skin in the game’ to keep the middleman acting in the interests of the investor. However, such is the enormous political importance of individual mortgages, personal loans, car loans, credit cards and the like, that when that system collapsed, governments rushed to swap lots of new government bonds (i.e. mutualised i.e. national debt to be paid off by all taxpayers) for all that bad debt incurred by individual firms. That’s what the banking bailout was, the swapping of lots of soured individual debt for national debt, brittle structured debt for simple debt.
Fintech (‘Financial technology’)
Europe is surprisingly the world superpower for Fintech. The US, and then China follow by some distance. My best guess is that there is far more competition here between banks due to all the national champions, but also because there is a much higher hatred of banks, a much stronger credit union movement, and a stronger perception of getting ripped off by banks all the time. This has led to a prevalance of globally dominant fintech startups based in Europe such as Transferwise, who operate something which is awfully close to a fee-free multi-currency bank account, with debit card, and individual account routing numbers per Transferwise account in twenty countries or so, and with extremely low currency conversion and transaction fees. They move about US$60 billion a year, and it’s roughly doubling annually. In fact, all my pay goes through Transferwise, my US employer pays me just like a US employee via ACH. That money drops into my Transferwise account in US dollars, from where I can convert/send/buy stuff1.
If you think it through, Transferwise simply expose the innards of currency trading and bank routing directly to the retail consumer. Your bank always had access to multi-currency accounts, it always could route payments anywhere in the world, and it usually cost it virtually nothing to do any of those things. If you are wealthy enough, rich individuals always had access to those systems, along with a personal bank representative to do your bidding. Now ordinary retail consumers are getting access to those systems, and it is driving down costs, increasing service, and represents major disruption to traditional banks for what was once a very lucrative market niche.
The equivalent ‘big daddy’ to Transferwise in the EU for loan investing by retail investors is Mintos. They are a ‘loan marketplace’ of currently sixty or so commercial loan originating companies from around the world, like an Amazon Marketplace for debt (note that they are NOT like Lending Club in the US, the only loans you see on Mintos come from professional, commercial, lending companies looking to reduce the cost of their own financing. You do NOT lend to individuals directly on Mintos). You can invest in any kind of debt, everything from mortgages to payday loans to invoice financing (bridging loans until an invoice is paid by a supplier), in any of a dozen currencies, in any of two dozen countries around the world, everything from low risk stable rich Western economies, through to risky basket case countries. You can choose each loan to invest in manually, and such active investors can do very well. Or you can automate the investing using bots given investment rules by you to slice up loans into as small or as big chunks as you like, and cut the cognitive effort and maintenance overhead to near zero as the bots run along in the background without your involvement, sending you a daily status update of what they’ve done.
Mintos are far bigger than any of their competitors in their specific niche of exposing commercial debt to retail investors, they already place US$2.4 billion of loans annualy, and annual growth is an eye watering > 300% per annum. Due to their sheer size, you will disperse any amount of investment you place with them very quickly, so there are no problems with uninvested capital sitting around earning nothing because there are insufficient borrowers, like on the smaller platforms. If you need your money back before the loans come to term, there is a large secondary market into which you can sell your loans quickly, instead of having to wait around for weeks or months for all of it to sell like with smaller fintechs. All this makes Mintos a great place to start for the European retail investor, which is why I chose it.
Peer to peer lending?
Some reading may recognise the name Mintos, and wonder ‘isn’t that peer to peer lending?’. Yes, they call themselves that, and yes, all the loans on Mintos are attached to some individual somewhere. But what I would call ‘true peer to peer lending’ is when the investor directly invests in the borrower personally, arranged by the fintech startup as a facilitator, but without a legal middleman in between. That’s the kind of lending which retail banks used to do once upon a time – the bank manager looked at the whites of your eyes, and made a call on whether to take a chance on you. There are lots of fintech startups which do true peer to peer lending in that same mould e.g. the UK’s Funding Circle, but those are not the subject of this series of articles.
The kind of lending which Mintos does is the same kind of lending which big multinational banks do: it’s all a numbers game i.e. you spread many small bets far and wide, and aim for statistically rather than individually successful outcomes. The novelty introduced here is that ordinary retail investors can get in on the act, rather than just the very wealthy and the banks. And said retail investors will get to lose their shirts when the system tips over again as it always does, instead of getting bailed out by the taxpayers.
The relationship with subprime lending in all this is that while you can choose extremely safe debt on Mintos paying maybe 5.5% (currently Spanish mortgage Euro debt is the safest on Mintos, it pays 5.5%), you can also choose ultra-risky debt, such as payday loans to Russians in Rubles, which currently pays 20%, and in which you will either make a lot more if the Ruble strengthens and Russia’s economy improves, or maybe a lot less if the Ruble sags and the Russian economy runs into more trouble. One can of course also create auto investment bots which implement a diversified mix, and then your biggest immediate risk is whether Mintos itself goes under (it is profitable), or more likely, gets hacked and someone runs away with enough money to bankrupt the firm, or fraud or embezzlement by a founding partner occurs etc. But let’s be clear here, the loan originators go to Mintos to get cheaper financing than they can get from the money markets, because the money markets think this debt is subprime, and so charge a higher rate of interest than what they have to pay on Mintos. There is no charity happening anywhere here, this is all about financing subprime debt more cheaply by getting lots of Joe Soaps to hand over their cash bank balances.
In my next post in this series, I’ll have a look at the risks involved in investing in Mintos specifically. In a third post I may then get into potential investment strategies on Mintos, as there are a ton of approaches, all with advantages and disadvantages.
- Transferwise are not a bank and therefore do not provide a deposit guarantee. In other words, don’t keep too much money with them, they are not obligated to return any that they accidentally misplace, for example, whereas a government guaranteed bank is so obligated. [return]
As you can see, the weather was pretty great that weekend. It all looked gorgeous. However, nobody could claim that it was warm, it was about 10-12C, and because of the wind off the sea, everybody was generally wearing winter wear, apart from the usual mad ones running around as if it were summer. Still, it was extremely nice to be able to do nothing for a day or two. Not think, work, write, or any of the other stuff that I seem to have to constantly do every available spare hour god sends me.
My next post is likely to be a longer one. I’m going to discuss investing in peer to peer lending. Annual rates of return can be anywhere between 4% and 20% depending on your appetite for default risk. There is however platform, lender, and counterparty risks in there too. You ought to not invest any money that you can’t afford to completely lose, should the 2009 financial crash happen again. But more on that later.
The video of my final expected talk at a C++ conference just went live. Weirdly, it got the highest audience rating of any talk I have ever given. I guess not knowing the topic material gives a good impression!
This is the very first post using my snazzy new hand-written Markdown new post editor, which you can test for yourself at https://www.nedprod.com/editor.html. I’ve been working on this at nighttimes for a number of weeks now. It live renders the Markdown which you type into HTML. It has a fixed viewport based layout, so each editing pane always consumes half of whatever screen size your browser has, which means it works as perfectly on mobile as it does on desktop. It automatically scrolls each pane so you can see, live, exactly the rendered Markdown for what you are editing. It can insert your geolocation and any link that you want to share. It retains your in-work post in your browser, letting you leave and return to finish it later without the possibility of losing anything. The only major missing functionality is uploading images with a post, and that’s my next task.
The third big thing I’ve learned is just how much easier web programming has become. The tooling is vastly better than it was. Web browsers work consistently, their debuggers are all excellent, you can inspect HTTP exchanges with ease, even newer PHP doesn’t suck anything like as much as it used to. Security is also vastly better than it was, more than half of all the time it took to write this editor went not on the editor, but on figuring out how to run Hugo, because running arbitrary programs on your server is super non-trivial to make work nowadays. PHP simply won’t run external executables any more, which is a very good thing. Docker is very good at preventing you escaping it. I tried many routes before I sucked down the reality that I was going to have to learn Docker, which turned out to be nothing like as bad as expected. Old dog, new tricks in the end, and I can definitely see the big advantages in containerising absolutely everything into its own almost entirely read-only container.
The next minor thing is to get new posts replicating automatically onto Diaspora and other social media. Then comes image upload. Then, I think I’m probably done here for now, barring bug fixes. I could add arbitrary post editing, but to be honest, given I have SSH access and can just go delete bad posts or whatever, I’m not sure I care enough to implement a web UI for any of that.
Someone that I still find amazing is how the world has turned full circle. I have a de-Googlified phone based on https://microg.org/. I have never given over my email to big multinationals, but Mailcow comes with full calendar and todo management, plus a web UI and it takes care of SSL certs using LetsEncrypt for you. So that let me migrate away from Google Calendar, transferring over all the stuff intact, and fully working, and my phone auto-integrates with Mailcow calendar and todos, as well as email.
Now I’ve completely left multinational social media as well. Everything I now do runs 100% on my infrastructure running 100% open source. Nobody mines me for any of my information anymore, except from what can be gleaned from web scraping bots, and tracking cell tower locations, and those are rather hard to prevent. I’m basically back to 1998 when I first started this website, in a way, except the technology is vastly, vastly, superior to what we had back then.
I mean, this stuff auto-curlys my apostrophes’, like Microsoft FrontPage used to until you disabled it. Ain’t that something!
The previous website was a direct evolution from when it was begun in 1998. Microsoft FrontPage was upgraded to Microsoft Expression Web, various upgrades for new content such as CSS, XHTML, Unicode and microformatting occurred over the years. A fair chunk of custom PHP scripting implemented pseudo-dynamic website features, such as scanning all the XHTML content into an Atom RSS feed, and then rendering that RSS feed dynamically as pages.
That solution served me well, as at that time there weren’t static website generators sufficiently capable that I could move on. However my recent work with Hugo to implement Outcome’s documentation persuaded me that Hugo probably – just about – had enough flexibility to do a high fidelity conversion of nedprod.com.
The new tooling, Hugo, opens many new doors. Firstly, I can now write posts in Markdown instead of HTML – this post is the very first of what will be many written in Markdown. Secondly, Hugo autogenerates a RSS feed for me, and at some point soon I’m going to hook that into auto-posting to Diaspora and Pleroma, now that Google Plus has gone. Thirdly, I should be able to plug an Android app which speaks ActivityPub (probably AndStatus) into being able to post content here. Or I may just make a private web form with Markdown editor which can post new entries here from any web browser, and make that mobile friendly e.g. with picture upload and GPS coordinates etc.
So far, so good. And just in time for the Google Plus shutdown. I made it!
Tuesday 19th March 2019: 4.36pm.
You may remember that I pulled the trigger on a new workstation to replace my six year old Ivy Bridge one:
- Sixteen core AMD Threadripper 2950x @ 3.5Ghz, turbo 4.5Ghz.
- 32Gb of DDR4-3200 RAM @
- 512Gb Samsung 970 Pro NVMe SSD @ 3.1Gb/sec
I spent no less than thirteen - yes, thirteen - hours yesterday during the public holiday pulling out the old system, and putting in the new. Went home after midnight with, finally, a machine booting into Windows, after a very long and frustrating day which included having to cut through sheet metal in the case to make space for my video card, and slicing my wrist on sharp metal. Yay.
Spent most of today installing stuff and trying to get Maystreet's code building again, as after all today is a work day. Just got the Windows build working there, currently working on the Linux build.
So, first impressions of the new platform is how little different it feels to the preceding one. Which is the first time that's ever happened to me in an upgrade! Yes it feels slightly snappier. But it's a "fresh Windows install" kind of slightly snappier, not a "I just dropped over a grand on a new workstation" snappier. Much of the cause is that the preceding Ivy Bridge system also ran at 3.9Ghz, and also had a top end Samsung SSD, albeit SATA instead of NVMe connected. But despite all these oodles of CPU cores and 4x the memory bandwidth, it makes very little difference indeed to perceived latency, for the simple reason that the old system responded in pretty much the same lag as this new one does.
However where you notice the difference big style is compiling Maystreet's code. That used to take a number of hours to compile it all, and a good twenty minutes for a complete rebuild of the subproject I'm working on. This new system does considerably better, it's under five minutes now. Which will be a big productivity bump in the months to come.
Something interesting is that even the ninja build tool rarely keeps more than eight CPU cores busy for long. Occasionally it hits sixteen cores, but it doesn't last long. The build here just isn't parallelisable enough to do better.
In terms of other observations of the new workstation, apart from how awful it was to get it booting at all, since I figured that out it's been boringly predictable. The last time I had an AMD system was over a decade ago, and the chipset drivers just weren't quite as stable nor polished as the Intel ones. So far - albeit it's been just a day - I've seen zero issues. It's been very smooth running, all the hardware has been compatible, everything has benchmarked at speeds you'd expect first time (note my RAM bandwidth is a good bit more than what online suggested, I am running this system in its true NUMA configuration instead of the hardware trying to hide that not all the RAM is equally close to all of the CPU cores). In short, once it actually booted, it's been very plain sailing indeed.
Now just need to find the time to put the old parts onto eBay!
Wednesday 6th March 2019: 9.01pm. Just pulled the trigger on the guts of a new workstation to replace my six year old Ivy Bridge workstation:
- Four core Intel i7-3770K @ 3.9Ghz ("overclocked" to turbo always on).
- 16Gb of DDR3-1600 RAM @ 21Gb/sec.
... with this instead:
- Sixteen core AMD Threadripper 2950x @ 3.5Ghz, turbo 4.5Ghz.
- 32Gb of DDR4-3200 RAM @ 64Gb/sec.
So four times the CPU cores and three times the memory bandwidth. Should be a nice upgrade, I might even notice the difference. I can see that so many CPU cores will be memory starved under load fairly often, but the AMD chip is half the cost of the equivalent from Intel. Or, rather, for the same money you get twice the CPU cores, even if they are around 10-15% slower than the equivalent Intel chip at full load (single threaded things are rather better, only 5% slower or so).
It'll be going into the same case, PSU, graphics card et al, with the old parts going on to eBay to recoup whatever I get. I'll be sad to see my vastly overkill Noctua NH-D14 HSF go, it is so overkill a cooling solution that even under full load, that quad core CPU didn't spin up the fans. Case ventilation was sufficient. The new HSF is also a Noctua, but with just one radiator block and fan. That said, it actually weighs more than the old one, despite being much smaller. We shall see how it fares.
Been making good progress on other todo task like items other than wifi routers :). I've been slowly writing https://scrapy.org/ plugins to scrape http://www.nedprod.com's content into a https://gohugo.io/ generated website. Scrapy is a great tool, highly recommended. Once I've converted all that Microsoft FrontPage 1998-era HTML, I can then finish my migration away from Google+ and all megacorp social media who resell my information onto 100% wholly owned and maintained by me social networking based on ActivityPub. I've persuaded the maintainer of https://andstatus.org/ to finish his ActivityPub support, so then I'll be able to post photos, status updates, and all the stuff I normally do from my phone to my Hugo generated static website, which in turn will plug into the federated social network. I don't know if I'll get this entirely done before Google turn Google+ off in April, but let's see how it goes.
On other todo task like items, I have fully migrated my business off its expensive business bank account with a major bank, and I have closed that account. I'm now 50/50 split between TransferWise and Fire.com on the business just in case of Brexit. I've also started migrating my personal bank account to the German https://n26.com/ bank to also get away from the new unavoidable monthly maintenance fees the Irish major banks have just imposed. It's a lot of hassle moving over all the direct debits etc, but so far so good, the German IBAN hasn't been a problem yet.
N26 is okay so far. They're a bank. Not much to see really, though I do like the instant appearance of transactions. Like, you withdraw cash from the ATM, you literally can see the payment go through its stages on the app in realtime. Same for buying stuff with the card. The realtime aspect proves that any bank could do the same, but they can't of course due to all those legacy systems they have.
Their app is pretty buggy, bits of it don't work at all, and it burns CPU if it's open (so always force close it when you leave it). Getting it to work with my de-googlified phone based on MicroG was a royal pain in the ass, it took three hours of fiddling, I eventually got it to work. Badly made app though, whereas TransferWise have a very good phone app that works very well and is the best of the banking type phone apps I've seen so far.
In fact, TransferWise are increasingly becoming head and shoulders above everyone else. The most features, the least hassle, the lowest fees. Shame they are not bank guaranteed though, you just can't trust leaving any significant money with them. And after that recent scandal at that German ePayments company where they were faking the accounts and now people's deposits will get a haircut, that bank guarantee is more important than ever.
Monday 18th February 2019: 10.02pm. Picked up an old Netgear R6220 2x2 11ac router with nasty cheap Mediatek chipset off eBay for €30 including postage. OpenWRT went onto it surprisingly easy, and now it's a second Wifi AP in my house solving the wifi blackspot in my bedroom, and more importantly, the toilet.
OpenWRT has come so very far in the last few years. Easy to install, easy to configure with a lovely GUI, performance doesn't suck like it used to either. And so very, very, very much better that the proprietary firmware they ship with.
I am pleased to announce that earlier today, I joined Maystreet Inc, a Fintech next generation capital markets platform delivering low-latency connectivity & high-precision data to banks, brokers, etc. This will be a long term gig for me, I expect to be with them for some years building out some very cutting edge technologies which deliver significant competitive advantage. I am extremely glad to not have to return to working in Dublin onsite, a year of that was more than enough.
I interviewed with a lot of other companies since November, indeed a bit of a bidding war ended up happening for me. I'd like to thank those firms for their interest in hiring me long term, and I wish them the very best in their future goals. Most of them were very impressive, and so long as this tech bubble doesn't deflate too harshly, I expect they will all succeed.
Last night I completely replaced the proprietary firmware on the house wifi router (the excellent value 3x3 11ac Archer C7 that just about everybody techie uses for their home wifi) with https://openwrt.org/. Why? The proprietary firmware was actually not awful, but my phone kept losing signal when I'm on the toilet, and it began to bug me that I can't do things like increase the transmit power, or use all of the 5Ghz frequencies available.
Anyway the switch was as easy as feeding its web interface an OpenWRT firmware file (mine is the v2 hardware, they made it not as easy on the v5 hardware). Very, very easy. And OpenWRT is completely different to the last time I used it years ago! It's now got a super easy GUI, a very recent Linux kernel, an enormous collection of installable packages, and of course more knobs and twiddles than you can imagine for configuration. It's a proper full fat Linux distro now, and while the GUI isn't quite as excellent as pfSense's, it's getting close.
Where I am typing this now used to get two bars of signal, and occasional wifi dropouts requiring me to hang the laptop off the edge of the bed to regain a connection. Now that I've quintupled the transmit power and moved my 5Ghz range outside that of my neighbours, I'm now on four bars of signal. Much better. And decent reception in the toilet now as well, so this has been a big win for very little cost or effort.
I did however lose a bit on peak transfer from LAN to WLAN. The Qualcomm chipsets implement hardware data routing for LAN => LAN, LAN => WAN, and LAN => WLAN of which the OpenWRT firmware only uses the LAN => LAN. The proprietary firmware could push Samba => Windows from a Gigabit LAN to the wifi at 77Mb/sec. OpenWRT copies the data in software, and the relatively slow CPU gets pegged at max, dropping Samba => Windows to 60-65Mb/sec. So about a 20% peak transfer performance loss.
This is unfortunate, however it's rare I bulk transfer data over the wifi. And 60-65Mb/sec is plenty fast when the broadband can't exceed 8Mb/sec anyway. So I can live with it in exchange for much improved wifi range.
After three hours carved out to "get it done already", finally got my cheap USB gnuk OpenPGP dongles purchased last August (!) to implement ed25519 on-device crypto for GnuPG and Putty SSH on Windows. That means that (a) I cycled all my encryption keys, which was becoming pressing since I last did so in 2016 (b) even I have no idea what my new encryption keys are, nor can I nor anybody else ever know, because all my encryption is now done 100% on the USB dongle (c) even a nation state actor could now take over my desktop PC, and they still couldn't get into any of my other computers from that PC.
Well, only sort of to the latter point. My USB dongles are really cheap, and are missing a physical button to authorise an operation. So, as long as they are plugged in, and a keylogger has grabbed the PIN code, they can be made to do nefarious work silently in the background. Yes I probably should have sprung for the more expensive models with a button. But, equally, I only ever need to plug these in when initiating a SSH session, which isn't that often in truth, a few times a month at best, and you can just pull out the USB key immediately after you've used it. My git repo commits and authentication still use an on-computer ed25519 key, mainly because if others grab that, it's not the end of the world, I keep backups of all my github repos anyway.
Am I being excessively paranoid? Probably. But it's little cost for a big gain.
ACCU 2019 schedule just went up. My final C++ conference talk for the foreseeable future is linked, after this there will be no more attending conferences for me. It is on Elsewhere Memory, and will be the most speculative conference talk I have ever given, musing on the possible future of all computing everywhere. I'll be taking the ideas presented here to the C and C++ standards committee later this year.
As preparation for Google Plus coming to an end soon, I improved the Python scripting which mirrors this stream of posts onto http://www.nedprod.com/ to also extract post locations and images and videos. Indeed, http://www.nedprod.com/ is now 100% served from my own servers, and no longer uses Google for anything at all. So Google Plus can now vanish tomorrow, and all my post data - seven years of it now - is safe.
I have no idea what I'm going to replace Google Plus with in a few months time. None of the alternatives I have tried I have found compelling. What I want is a very simple single person ActivityPub client-to-server service which uses the filesystem for storage, perhaps using a https://gohugo.io/ filesystem layout so your post store can double as a statically generated Hugo website. I very specifically do not want databases, Docker instances, or complexity i.e. maintenance. I also would like a server-to-server ActivityPub service which can serve the RSS feed from the Hugo website to the federated social network, but that's much less important right now than the former given Google Plus goes away in April.
Given the lack of any alternative, I suspect that I'm going to have to implement the former myself, which sucks, but it is what it is. At least ActivityPub is well documented (https://www.w3.org/TR/activitypub/), and probably others will find my solution useful to them as well. I'll probably write it in Python, it's well suited for parsing JSON and HTTP, and while we do need scalability in the post database, we definitely do not in the service seeing as it'll only ever be you personally using it. So a simple CGI script is probably fine - though I'll implement it as FastCGI anyway, as nginx can't do CGI.
Anyway, that's next week. Let's see if I'm back to employment next week first before launching into new software projects!
Just finished What Remains of Edith Finch, which was on my bucket list for inter-employment R&R gaming. It's basically a slightly interactive series of short stories, the kind of thing Megan would really love. And yes, even with my thick skin of cynicism, I have to admit I enjoyed the three hours or so of "reading" the stories. It did even tug a bit at the emotional heart strings, though I found the ending a bit natch. Definitely worth the tenner I paid for it on sale. I'm also currently playing through the original Walking Dead Tellgame game, yes it has actually sat in the inbox this long despite being listed on https://en.wikipedia.org/wiki/List_of_video_games_considered_the_best. And well ... it's a bit like with Half Life 2. Sure, it's a great game. But it's a bit set-piecey, and you can see the set pieces from miles away, and to be honest there's nothing particularly special in this game, as there wasn't in HL2, that I could see as why people laud it as they do. Nevertheless, I can see myself finishing it, which is rare for me with most computer games as boredom sets in early for me usually. I also picked up a raft of other games on Steam Winter Sale. Spent about thirty euro for six games, all of which are apparently somewhat like Mass Effect 2, which I rate as the best overall game in the 2010s bar none. We'll see how much time I get to play those.
Back in Ireland from our two weeks away in California. Feeling quite rough from jet lag, it'll take a few days to recover properly. Total cost was almost exactly six grand in euro, which was slightly disappointing given my budget was five grand. I underestimated the cost I think of food, restaurants and takeaways were Irish prices in California rather than Indiana prices. I was routinely surprised at how expensive groceries were outside of Walmart. We also dropped three hundred dollars or so on booze, specifically very high end very rare in Europe bourbons and ryes, half of which came home with us (and will almost certainly get their own post, I really lucked out in my choice).
Was this a better break than last year's in Disneyworld Florida? No, Disneyworld was much more of a holiday, this had a significant work and stress element to it, partially because wilderness and nature don't suit small children well and the long drives between places encourage them napping instead of going to sleep at nights, whereas Disneyworld for all its faults is much easier on the adults because it knocks them out and travel and food is taken care of for you. It also cost ten grand in euro of course.
Our holiday in 2019 will be at Halloween rather than Christmas. I expect much less driving long distances, with a corresponding benefit to children sleeping early and well. I also expect more fun stuff which costs a lot of money, so two weeks might be too much for me to afford. We spent a full grand in the last four days because we were in San Francisco doing daily fun stuff! But equally as much as I'd personally like to do nothing whatsoever - which is my definition of time off - bored children would make that an unrelaxing hell. So you either spend lots of money to entertain them and get some peace, or you don't get a holiday. Which sucks, but that's having children for you!
Wednesday 2nd January 2019: 3.36am.