‘Short, And Very Basic’

Score: 2/5

I’ve been reading up on Bitcoin and Ethereum lately, and I wanted to jump-start my learning by getting some Actual Books on the subject.

At £7.15 this seemed like a bargain. Not so, it turns out. It feels like a small book, and at 44 pages it is a small book. So small they don’t bother putting numbers on the pages in case you notice. And while I’d happily pay that much (and more) for a good book on the subject - one with an insight or two I can’t get just reading the websites - this wasn’t it.

I’m still only learning about Ethereum but I’m already well ahead of the content in this book. That’s a shame because it’s such an interesting subject.

Tags: 4 Word Book Reviews
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

‘A Joy To Read’

Score: 5/5

Geoff Dyer

I thoroughly enjoyed this book. It’s not the sort of thing I’d commonly read - a writer gets to spend a two-week residency aboard a US aircraft carrier - but it’s wonderfully written and that made it enjoyable to read.

The author doesn’t take a pandering tone - it’s clear he disagrees with some of the people and their attitudes (particularly when it comes to religion). But he does seem to genuinely like and respect these people too. Mostly. And he has a very self-deprecating style - talking freely about how he’d hate having to share a room for 6 people (and how one for 6 people would be even worse than the one for 200 people!)

To give you a bit of a flavour of the author’s style and his occasion forays out of his depth, here’s a lovely bit. To set the scene, he’s just gone to the onboard gym:

Anthony Benning, the Fit Boss, was standing next to me, wearing a T-shirt and biceps. He had grown up in a military family but was actually a civilian, supervising the exercise program on ship. From what I could see his job resembled that of a bouncer, stopping people getting in. The gym was filled to capacity so he was operating a one-in-one-out policy that you get at overcrowded nightclubs. I didn’t know what to say but, feeling I ought to ask a question, said:
‘How big can a human arm become before it stops being a limb and morphs into something else?’

I genuinely laughed out loud at that bit.

Tags: 4 Word Book Reviews
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

I’ve been playing around with Scheme for a little while. (Yeah, I guess I still don’t really have the urge to work with dotnet.) One of the things I did a while ago was ‘port’ the Common Lisp version of Eliza in Peter Norvig’s ‘Paradigms Of Artificial Intelligence Programming’. Eliza, in case you haven’t heard of it, was one of the earliest natural language processing programs. It tried to imitate a Rogerian psychotherapist using simple pattern matching. (I thought the original Eliza paper by Weizenbaum was exclusively behind a paywall but there’s a freely-available version of Weizenbaum’s Eliza paper here.)

This port is available on Github, of course (that great single point of failure in the distributed version control system) and it’s called ElizaNorvig.

It’s not a super-smart chatbot, it has to be said. Norvig’s focus was on the beautiful pattern-matching lisp allows, and he supplied a fairly small rule-set (about 40 rules) to demonstrate its use. It’s enough to show some simple conversations but it quickly shows its limitations:

You: Hello there

Eliza: How do you do. Please state your problem.
You: I'm tired
Eliza: Do you feel strongly about discussing such things?
You: Not really
Eliza: What does that suggest to you?
You: That I'm tired
Eliza: Please continue.
You: Please don't make me
Eliza: I am not sure I understand you fully.

If I were smarter or more persistent I’d have extended the rules to give what the Cool Kids these days are calling a better ‘conversational UI’. But I didn’t. I thought I’d keep that version a pretty pure port of Norvig’s code, and I’d put my tweaks in a separate repository. But again I didn’tAfter that tweet in May I made a few tweaks and then pretty much forgot about it.

I’d tried a bunch of different Scheme implementations on the way but found Chibi Scheme to be closest to what I wanted - a simple, pure R7RS scheme implementation that stuck to the standards instead of requiring special command-line switches to make it standards compliant. It’s pretty cool. I like it.

Then I noticed there was a web site that allowed you to run Chibi scheme in your browser. That’s pretty neat, given that Chibi is a C program...

Turns out you can build Chibi using emscripten to create an asm.js version that can run in browsers.

So of course my next step was to try running Eliza in a browser too.

And it worked.

There’s no documentation on running the asm.js version of Chibi, but I got a lot of the way there just looking at the existing online implementation. Then a few emails to the authors of Chibi Scheme and Chibi’s emscripten build got me answers to my remaining questions. (Thanks guys!)

The big hurdle that wasn’t shown in the existing online implementation was sharing data between the browser/Javascript and the scheme code. The easy approach is to create a global variable in Javascript, say ‘foo’:

window.foo = '';

This can then be accessed in scheme code with:

(define (foo)

  (string-eval-script "window.foo"))

And set using something like:

(define (set-foo! value)

  (eval-script! (string-append "window.foo = '" value "'")))

(You’ll need to be careful of quoting ‘value’ above if it contains quote marks.)

With those wrinkles sorted, getting my existing scheme code running was remarkable easy. All the SRFIs I needed were available and my code wasn’t doing anything tricky so I shouldn’t have been too surprised, but surprised I was. It worked!

And you can try the Eliza out live in your browser right now!

Tags: Scheme
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

‘Different Perspective On Transhumanism’

Score: 5/5

Brenda Cooper
£17.50 (Really? I paid £3.29...)

I’ve read some science fiction about transhumanism but this book had a slightly different take on it. Instead of seeing the process of a society becoming transhuman, this book looks at what could happen if some in society became transhuman and were then banished. What would happen when they came back?

It’s a neat idea, and worth exploring. It’s an interesting setting, with more depth than normal, but it suffers a little from the everywoman lead character feeling a little contemporary. She feels of this current age - 2017 - not the time period she’s from.

There are a few shortcuts like that. It’s almost like the author wrote the book then did a global search replacing ‘coffee’ with ‘stim’. Yeah, it sounds a little fancy at first but when the phrasing and use of the term all suggest coffee it’s a pretty transparent gimmick.

These niggles aside, it is interesting to read and think about.

Tags: 4 Word Book Reviews
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

‘Nice Self-Contained Science Fiction’

Score: 4/5

Adam Rakunas

A nice, self-contained science fiction story. (There is a follow-up but I haven’t read it - it’s not one of those big-books-cut-in-two-to-double-the-profit.)

The setting is deep enough to be interesting. Not everything is explained right away, and sometimes things aren’t explained at all, leaving you to figure it out. Characters are more than paper-thin too. I found it quite readable.

Tags: 4 Word Book Reviews
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

‘Too Reliant On Coincidence’

Score: 2/5

Clive Cussler

Things happen in life. In fiction, sometimes weirder things happen. The protagonist is often at the centre of events because, well, otherwise they wouldn’t be the protagonist. Books about people doing nothing don’t often make it far in genres like ‘Adventure Fiction’.

(Side note: I’d never heard of ‘Adventure Fiction’ before seeing it on the cover of this book.)

Some level of coincidence is probably essential. Some types of books are heavier on coincidences. Some take it to levels that stretch credulity.

And then there’s this book.

I’m OK with the hero being involved in the right place at the right time for some international intrigue.

I’m even OK when he also happens to have the boat closest to the action when one of the characters needs rescued. I’m even OK that he was diving from an inflatable in the middle of the sea and that inflatable was the only thing within reach of the action.

I’m not OK when all that action connects from a wreck he dived on to an undiscovered wreck over a thousand miles away that just happens - just happens to be discovered that week. That very same week. It had lain on the ocean floor for a century and it was discovered the very week it became relevant to the plot. And you know who discovered it? The hero’s son and daughter. Who just happened to be exploring in that exact area.

At this point I kinda started treating the book as a comedy.

After all that, it’s just OK. It’s well paced but it’s shallow, superficial.

It’s also, however, only the second book I’ve read that was set in the time I was reading it - this book is set in July 2017. (The other book I read in the period it was set was 1984.)

Tags: 4 Word Book Reviews
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

Back in March this year I wrote a blog post ‘Your tools shouldn’t spy on you’. I still feel pretty much the way I felt then.

Today Microsoft has released some of the telemetry data along with announcing their plans for future telemetry collection.

I wrote a comment for that blog post of theirs. It’s currently awaiting moderation, but I figured I should post it here too so I can keep a record of what I said.

I pretty much stopped using dotnet in March when I found out it was collecting this telemetry. I believe it's wrong that tools spy on their users: https://opinionatedgeek.com/Blog/2017/3/26/your-tools-shouldn-t-spy-on-you

Spying is a good word for what's happening here. There's no guidance when you install, no prompt to ask you if this is all OK, just the sneaky sending of data that you may not even know about. If all you did was install and run the tool, you wouldn't know it was send data to Microsoft. It's hidden away unless you're a fan of technical blogs.

Despite someone's Github issue - https://github.com/dotnet/cli/issues/3093 - (over a year old and still running), despite someone else's Pull Request - https://github.com/dotnet/cli/pull/7096 - switching telemetry off by default, we are in the situation where Microsoft now seems intent on making the tool's spying even worse, all while talking about community engagement.

Because now, as well as gathering data whenever you run the tool, it's going to capture and pass on a token to uniquely identify your computer. And what's worse is this token can be discovered by anyone on your LAN. Worse still, the plan is for this data to be made public.

Want to know what your former colleague was doing before they left the company last month? Just find out their computer's MAC address (from their network card), compute the SHA256 of it, and then you can search this data Microsoft is making public and see the commands they ran and when, right down to their typos. See? You can spy too now! (How soon until this telemetry is evidence in a lawsuit, I wonder.)

'The data collected does not contain personal information.'?
And then there's the opt-out mechanism. To stop the tool opening network connections I didn't ask it to, or sending data I don't want it to, I have to specify an environment variable. To ensure that's done, I need to put that in the user initialisation of every shell of every user of every machine and every container that might possibly be running dotnet. And if I make one slip-up, the tool spies on me again.

But the problem is not the identifying token. The problem is not the publishing of the data. The problem isn't the poor opt-out mechanism (for users who didn't opt in in the first place!) The problem isn't even the opting everyone in by default.

The problem is the normalisation of this spying. The drip drip drip of taking more information, combined with making it hard to configure the tool so it doesn't spy on you. The problem is having to monitor everything about the tool because you can't trust it. The problem is the attitude that says "We know you don't want us collecting this information, so we're not even going to ask you about it when you install."

Without asking the user if it's OK, there's no informed consent. Taking data without informed consent is bad. Publishing data without informed consent is bad. It annoys me that I have to state these things.

I suppose that in the end it all comes down to the question I asked in March: "Would you prefer a tool you can just trust, or a tool that may have better features but that you constantly have to check to verify isn’t doing anything it shouldn’t?" I'd prefer a tool I can trust. Since March, dotnet has not been my preference. I prefer my tools Private By Default.

Tags: Clueless Idiocy
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

‘Just Didn’t Get It’

Score: 3/5

I really like XKCD. Really. I like the way it doesn’t go for a broad appeal - sometimes going for jokes that only a few geeks will get. It’s a lot of fun.

I didn’t really enjoy this though. It’s from the same author, it’s clever, it’s funny in places, but it just didn’t work for me.

The gag is that the book is written entirely using only the most common 1000 words in the English language. You can get across quite complex thoughts if you stick to simple words, goes the thinking. Well, maybe. I spent too long trying to translate from the simplified description to the actual term for it to be fun for me.

Tags: 4 Word Book Reviews
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

‘Everything About 1900s Cons’

Score: 5/5

David Maurer

Books like this could easily be dull, but this book was thoroughly enjoyable. It’s not filled with characters and anecdotes, but there are enough dotted around the place. The central theme though is the mechanics of the 3 ‘big cons’, details of how they’re done, and (most surprisingly to me) the history of their development.

I don’t know why it was such a surprise to me. I didn’t think these cons arrived fully-formed. I guess I just didn’t give it much thought at all. This book goes into some detail about the history of the big cons, how they were an innovative development of the ‘big store’ cons - itself a big leap in con development.

The 3 ‘big cons’ of the 1900s-1930s were The Wire, The Rag and The Pay-Off. I don’t want to post any spoilers here, but when you read this book you’ll come across basically the entire plot of ‘The Sting’. It surprised me how close a fit it was. So close I’d imagine the producers of the film would have sued, were it not for the fact the book was first published in 1940, a good 30 years before the film was made.

There are some nice characterisations scattered about the place. Here’s one:

Ignorant and repulsive-looking, freckled to the point of blotchiness, with the nasty shade of blue eyes which often accompanies a certain cast of red hair, awkward and slew-footed, Red Lager is certainly the acme of unattractiveness among con men. He is everything and does everything which, theoretically, a good con man shouldn’t. He has never heard of Dale Carnegie and is unaware of the barest rudiments of the science of ‘influencing’ people; yet he has made a fortune on the pay-off. And he has a son, the exact replica of his father down to the duck-like walk, who, despite his addiction to drugs - one vice the old man shunned - is today a successful confidence man.

It really paints a picture, doesn’t it?

The author does seem to have more than a little sympathy for the con artists he talks about. The police fare less well. Not because they lock up his pals, but just for the sheer volume of corruption there appears to have been in that era. Each big con mob had a ‘fixer’ whose job was to pay all the appropriate police and judges to make sure the cons could go ahead with impunity. Places where it was known it was safe to work were called ‘right’ places, and cops who could be bought were ‘right cops’. ‘Wrong cops’ were the upright police who couldn’t be bought. That feels like such an alien viewpoint!

Here’s another anecdote that made me chuckle:

Eddie Mines, according to underworld rumor, once got a mark for the huge duke [a card-based short con] who backfired on him. He and his partner, Johnny on the Spot, were working the trains when they rope a ‘smart’ mark. The play started and the mark appeared to be eating it up. When they put the ‘chill’ [the final bit where the mark loses] in it was loaded with four jacks for one member of the con mob and four nines for the mark. The mark tossed in his money like hay. When they laid down their hands, the mark showed four aces. Eddie is reputed to have let out a yell that could be heard all over the train: ‘God damn it!' he roared. ‘That’s not the hand I gave you!'

Even though there’s a lot of talk of the development of these big cons, I’m not sure on how they’ve really developed since the book was written. I don’t hear much about big cons these days apart from in TV series like Hustler. Maybe they are all still going on and people are reluctant to talk about them.

Much more common these days are modern versions of the short cons. There are plenty of these about, all taking full advantage of the latest technologies. The web is full of ‘em! Tourist spots often have plenty of cons who make a play of ‘finding’ a ring ‘someone must have lost’ right in front of you. And there are boiler room scams and pump-and-dump share cons, but nothing really of the scope of these big cons. I reckon that’s a good thing. I suspect all the con artists have moved into more lucrative work, like merchant banking and HFT. I reckon that's a bad thing.

And how do you protect yourself from them? There’s not a lot of advice to be had there. The best is probably ‘You can’t con an honest man’ since so many of the cons depend on the greed of the mark, seeking something for nothing. But even that’s not absolute - there’s at least one short con described in the book that can indeed con an honest man. (Cons in this era were very male dominated - women to get significant mentions throughout the book, but usually as exceptions or addenda. There are other areas and terms we’d find offensive these days too, so be warned.)

Tags: 4 Word Book Reviews
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

‘Compelling And Well Paced’

Score: 4/5

David Baldacci

Apparently I’m a problem when it comes to birthday presents. (Old joke: ‘What do you get the man who has everything?’ ‘Penicillin’.)

Lately I’ve asked folks who felt the need to give me something to get me a book that they enjoyed. Not one they think I’ll enjoy, but one they themselves enjoyed. I figure that should keep me a little outside of my bubble, and hey - books are great.

That’s how I got this book.

I probably wouldn’t have bought it. I’m not sure why, but it’s probably seeing this author’s name on shelves next to Dan Brown so often that has put me off.

Now that I’ve read it, I can see the attraction of these books. They’re well paced, action-filled and have a bunch of puzzles throughout. The puzzles seem formulaic though - groundwork is laid by the author, something happens leading to a conclusion, the protagonist says the opposite of what you’re led to believe, the protagonist turns out to be right. I'm still at the stage where it’s a charming formula, rather than a tired one, but I’ve only read one book in this series.

The characters are fuller than I’d expected. There’s no rich, deep analysis of personalities going on but at least they’re more rounded than the paper-thin characters that often appear in action thrillers.

Will I read another one? Maybe. I’ve been given one already, and I suspect I may be given more in future.

Tags: 4 Word Book Reviews
Created by on Logo15659OpinionatedGeek Ltd.Logo15659