‘Great, But Wanted More’

Score: 5/5

James Gleick
£14.01

I suppose I’ve been spoiled by some of James Gleick’s other works - like The Information or Chaos - but I anticipated a lot more science in this book than is actually there.

I like it - it’s a great book. I thoroughly enjoyed it. It’s just that the focus is primarily on time travel in literature and popular culture rather than the science of time. It’s not that there’s no talk of what time is, because that’s there. There’s even discussions of some of the philosophical thinking behind it (even my favourite, McTaggart, gets a mention). Just that there’s less of that than talk of time travel in books. Maybe it’s because time is such a nebulous label and that we have such basic questions about it that are still unanswered by current science.

(Yes, I’d probably have known better what to expect if I’d read the blurb and read reviews, but I stopped reading things like that after the cover of War Of The Rats - a book about a duel between snipers - gave away the outcome. So I don’t read blurbs any more, I avoid reviews and I generally just want to be left alone to read a book on my own.)

Anyway, here is a snippet from ‘Time Travel’ (starting from page 137 in my paperback) to give you a flavour of the prose:

We have a tendency to take our words too seriously, which happens (paradoxically) when we are unconscious of them. Language offers a woefully meager set of choices for expressing what we need to express. Consider this sentence: “I haven’t seen you for a [?] time." Must the missing word be long? Then time is like a line or a distance - a measurable space. The language forces this upon us. Who was the first person to say time “passes” or time “flows”? We are seldom conscious of the effect of language on our choice of metaphors, the effect of our metaphors on our sense of reality. Usually we give the words no thought at all. When we do, we may well wonder what we’re really saying. “I’m terrified of the thought of time passing (or whatever is meant by that phrase) whether I ‘do’ anything or not," Philip Larkin wrote to his lover Monica Jones. The words lead us in a certain direction.

In English and most Western languages, the future lies ahead. In front of us. Forward. The past is behind us, and when we are running late we say we have fallen behind. Yet this forward-backward orientation is neither obvious nor universal. Even in English, it seems we can’t agree on what it means to move a meeting back one day. Some people are certain that back means earlier. Others are equally certain that it means later. On Tuesday, Wednesday lies before us, though Tuesday is before Wednesday. Other cultures have different geometries. Aymara speakers, in the Andes, point forward (where they can see) when talking about the past and gesture behind their backs when talking about the future. In other languages, too, yesterday is the day ahead and tomorrow is the day behind. The cognitive scientist Lera Boroditsky, a student of spatiotemporal metaphors and conceptual schemas, notes that some Australian aboriginal communities orient themselves by cardinal direction (north, south, east, west) rather than relative direction (left, right) and think of time as running east to west. (They have a strongly developed sense of direction, compared to more urban and indoor cultures.)...


I hope you can see what I mean about how good a book it is. That’s less than 2 paragraphs but look at how much it covered!

There’s a density to this work that made me read a bit, pause to think, then read a bit more. And it was all the more enjoyable because of that. Much as I wish it had covered more of the latest thinking in wormholes, or dwelled more on Lee Smolin or Julian Barbour or Kip Thorne, it’s lovely just the way it is.

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

‘Didn’t Want To End'

Score: 5/5

Nick Harkaway
£7.99

I thoroughly enjoyed Nick Harkaway’s first book The Gone-Away World. It was remarkable. 

Angelmaker, his second book, didn’t quite reach those same highs for me, but it was still excellent.

He’s back to brilliance with this one.

As with his other books, it’s really hard to try to describe what they’re about, the context or the characters. Suffice to say, this has all the richness of characters and textures of his previous works while having nothing to do with the worlds of those works.

I really didn’t want to finish the book. I’d have been happy to just read more and more.

I hope he writes another book soon.

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

SWMBO broke a bone in her hand yesterday:

ArmInCast
Not as nice as it looks

Technically, I think it’s a multiple fracture of the fourth metacarpal in her right hand.

We went to A&E as soon as we could, and after triage, X-rays, fracture clinic, more X-rays, fracture clinic again, I got to bring her home.

I am once again very grateful for our National Health Service.

Tags: Personal
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

So, while I’m away in Iceland, Google again starts being irritating.

Suddenly, Newsstand decides to start telling me headlines. And giving me notifications about them too.

A few years ago I noticed that companies weren’t being accidentally annoying, but were instead deliberately pushing the boundary of annoyance as far as they could - far enough to benefit the company but just short of so far that you’d switch to a different company. I wrote a ranty blog post called ‘Maximising Tolerable Irritation’ and then never bothered posting it. I’ve hunted it out and posted it now, years later.

I have never asked Newsstand to do notify me about news stories. I’ve never used Newsstand. I’ve never even knowingly searched for and installed Newsstand. I’m fairly aware of is existence but it hasn’t exactly been a part of my life.

Until now when I'm in a foreign country and it decides to notify me with headlines from a newspaper I already get email from every day. It’s trying to get my attention to tell me something I already know.

I truly do understand that it doesn’t know I already know what is trying to tell me. But it’s hard to see its AI as anything other than dumb now, and why would I want something dumb interrupting me?

All the other notifications are switched off on this tablet whenever they start, and it’s not a big leap that it should say ‘Woah, all the other times this guy had been notified he’s turned the notifications off. Maybe I should shut up?'

But no. Newsstand doesn’t even give you the option of not downloading shit. The only option it gives is disabling it downloading shit over mobile.

So I stopped it downloading shit and notifying me about stuff I already know by just uninstalling the damned thing.

I really don’t think that was the intent the designers had behind their new notification system, but hopefully if they see a lot of uninstalls as a result of their actions they’ll Actually Think Things Through instead of being so blasé about interrupting people.

I don’t care. I'm done Tolerating this kind of Irritation.

Tags: Clueless Idiocy
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

(Meta: I wrote this quite a while ago and for some reason never published it. I'm not sure exactly when it was written though - it was just after the first series of Netflix’s version of House of Cards came out, so that would probably put it around the second quarter of 2013.)

We all know companies don't have our best interests at heart, and the bigger the company, it seems, the less they care at all. I’ve grown used to this, but I’ve started to see a more worrying trend among companies’ approaches.

Everyone is told that the way for a company to succeed is to put the customer first, provide the absolute best customer experience, and that untold riches await for the companies that do it right.

Turns out that’s bunkum.

Companies these days have latched on to ‘Maximising Tolerable Irritation’ instead of delighting customers. They don’t want to provide the absolute best customer experience, they want to provide the one that suits their goals that is just good enough so that most customers can barely tolerate it.

Take Netflix as an example. They allow users to maintain a ‘List’, where users can add titles they want to watch in future, to make them easy to find. Great. Nice usability feature.

In the previous version of their Android app, the first thing you saw on the screen was the recent things you watched (allowing you to pick up where you left off). Next was your own List, giving you easy access to things you'd cued up to watch. After that were various auto-recommendation lists and other nonsense.

With the latest version they've taken to Maximising Tolerable Irritation and moved the List - the things you've decided you want easy access to - much further down and the very first thing you see is a very big advert for something Netflix wants you to watch. Not something you want to watch, something they want you to watch.

The first time it appeared for me, it dedicated 25% of the screen to an advert for the first series of House of Cards - a Netflix-only show that Netflix knows I've seen because I watched it on Netflix.

Now my List is appearing down after the ‘Random picks for Geoff’ list! Yes, they think it’s better to give me easy access to random picks for me rather than things I’ve tried to set for easy access.

This is, in many respects, trivial. I know this. But it kinda shows contempt for the user, saying ‘Yeah, yeah, yeah, I know you want this, but tough luck, we're going to push this on you instead’. It’s not user-focused, it’s Netflix-focused and it's designed to be both annoying and interruptive enough that you notice their advert and have more difficulty getting to what you actually want, while at the same time not being a big enough deal that you switch to something else.

So, no-one will switch away because of this irritation because it’s tolerable, but they're really trying to maximise the irritation for their own benefit.

I’m not just saying Netflix do this - it’s just one example. There are plenty of non-Netflix examples. It's like all companies have taken the wrong message from Nudge. It’s not accidental bad usability or an anti-pattern of usability, it’s an actually user-hostile dark pattern that seeks to make things deliberately unpleasant for the user, just not so unpleasant that the user doesn’t use the service.

Like call handling systems that never seem to have the option you actually need, even though you've explored several levels deep. It’s terrible, but is it enough to make you switch bank (or whatever the company is)?

Or Amazon - try buying MP3s without using your gift card balance. Workarounds include - buy yourself a gift card and send it to yourself, redeem it after you've made your purchase. Or ‘pre-order’ (urgh) a ridiculously expensive book and cancel it when you’ve made your purchase. All just to try to get you to fit in with Amazon’s desires. It’s possible to work around them, they’re just irritating enough that you probably won’t take your business elsewhere.

Another example - we would regularly get letters addressed to The Occupier about overhead power lines. These didn’t really seem to come from a reputable company (at the very least on the grounds that we’d used the Mail Preference Service to make sure we wouldn’t receive junk mail) so we ignored them for the first few years. They kept coming. And they provided a form to allow you to stop receiving them. The options on the form were:

  • I have already received a large compensation...
  • I am aware that compensation was paid to a previous owner...
  • I have instructed another company to act...
  • I do not have pylons or high voltage lines near...
  • I am not the registered owner...

No option that says ‘would you just fuck off and stop bothering me’. It’s like they figure if they don’t give me the option of just choosing not to do business with them, I’ll suddenly start doing business with them.

OK, that last one doesn't really fit with the notion of Maximising Tolerable Irritation but it’s still pretty fucking irritating. It’s the same people who think it’s oh so clever to have ‘Rate This App’ or ‘Later’ as the only options on a dialog, instead of a ‘Never, Ever, Ever - Now Stop Begging’ button. (Or better still - a button that allows you to punish the app developer for putting such a bad dialog in front of the user in the first place.)

Signing up for Windows Azure is a better example. Microsoft require (and check) a mobile phone number, and say they’re going to text your number with drivel like ‘information for new subscribers’ - information that:

  1. I don’t want,
  2. I certainly don’t want on my phone - I use that for stuff I think is important or urgent, not drivel spam from Microsoft,
  3. I have no way of opting out of - the Privacy Statement says ‘You will not be able to unsubscribe from these communications.'

In fact, Microsoft’s approach to spam emails generally is an example of maximising tolerable irritation. They don’t have unsubscribe options on their emails (at least, not the ones I get), they have a link saying ‘Review our privacy statement’ or some such. If you sign up for something from Microsoft, they take it as you being contractually obliged to receive their emails. Maximising tolerable irritation - it’s irritating, but is it irritating enough?

Is it irritating enough to get you to stop using Microsoft? Or Amazon? Or Netflix? Or...?

Tags: Clueless Idiocy
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

‘Shoulda Read Years Ago’

Score: 5/5

Kate Thompson
£17.22

This book is filled with the hard-won experience of writing software. I really wish I’d read it when I was starting out programming. The book was only published last year, and I started programming *mumble* decades ago, but so many of the stories have a familiarity to them of things I’ve also gone through or seen others go through.

There are stories about some things that work, as well as some things that don’t. There’s advice on what to do, as well as what not to do. Most importantly there’s advice on what to do when the advice on what to do and what not to do contradicts itself - the nature of software development these days involves dealing with these contradictions acceptably.

But overall it’s a book full of nice, familiar stories and koans that remind me of things I’ve done that I’d do better these days.

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

‘Beat, Bop, Bumming About’

Score: 4/5

Jack Kerouac
£6.29

I’d never read this book before. I’d heard of it, of course, but I didn’t really know anything about it. To be honest, I just thought it was a non-fiction travelogue of a journey across the U.S., not a fictionalised account of the rise of the beat generation.

It is fiction, but apparently only lightly so - Kerouac did indeed take many of the journeys outlined in the book. 

But what made the book stand out for me was the ‘texture’ of the writing. The way he described people and their actions really helped bring them alive to me. I could picture them in my mind andI heard their individual voice when they spoke.

This doesn't happen much for me.

It was fascinating to read about the U.S. in the post-WW2 era, although translating money values was tricky for me. (The dollar was worth more, but not at a fixed rate for all items - a sofa will have had a different rate of inflation since then than a gallon of petrol/gas.)

But most interesting to me was the affect music and writing had on them. The characters described in the book would go out to music clubs at night (they liked their bop!), sleep during the day, travel, and in their spare time would be writing a book. Such was the Beat Generation, apparently.

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

Almost What It Says

Score: 4/5

I liked the book. It's pretty much what it says - a lot of bets that are simple to describe but which are difficult to do or have a certain element of trickery about them.

They're not all certainties though. Some of the bets I figured out without reading the rest of the text, some I'm reasonably confident I'd have figured out, and some descend to such a level of pedantry that I'd be reluctant to mention them to people.

But mostly, yeah, they're fun to read, fun to think about, and maybe fun to try out.

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

Another travel day as we headed home to Northern Ireland. The flight was around lunchtime, but that meant it was the kind of day where there’s not enough time to head out and do something before it’s time to head to the airport. It takes a while to get the bus from the hotel to the bus terminal followed by the bus from the bus terminal to the airport.

Feetstagram
Icelandic Feetstagram!

So instead we chose to relax, have a leisurely breakfast, one final shot of fish oil (for me – I had one with every breakfast but SWMBO did not partake), then it was time to finish packing, check out and wait for the bus at 10am.

FishOil
To be taken daily, with breakfast

A minibus goes around stopping at the hotels that have arranged a pick-up, and picks up the people at the agreed time. You’d think this would be easy.

It was easy for nearly everyone. It was just one family that thought the ‘10am’ bit of ‘10am pickup’ was optional. So, our minibus sat outside their hotel, chugging away, for 10 minutes while they got their act together and came out. I guess they were having a leisurely time of it because they weren’t going to the airport, just the bus depot. Missing a flight would only be a problem for us, not for them.

This is why I’m not a good traveller.

Next time I’d be tempted to book a taxi to take us to the airport. It would have been about €100, whereas the bus was €42 for two of us. It would have taken half the time though, and we wouldn’t have had to worry about Other People Making Us Miss Our Flight. One less stress might be worth the extra cost.

As the minibus arrived at the depot, I headed off to check-in for the airport bus while SWMBO got our bags transferred. Teamwork got us ready ahead of everyone else but the bus still had to wait for all the others from our minibus who were delayed by those latecomers. Nice to know it waited though.

And the weather gave us some final tears as we boarded the bus for the airport. The weather was good most of the time, honest! I think I just like rainy photos.

RainyBusWindow
It seemed to rain every time we boarded a bus

Tags: Personal
Created by on Logo15659OpinionatedGeek Ltd.Logo15659

Iceland Day 3

I tried to book the Blue Lagoon for us a few days before we started our trip. The late booking meant we couldn't quite get the appointment we wanted - I liked the idea of going there directly from the airport, and only then - after a relaxing bathe - heading to the hotel to check in. That didn’t work out, but going early on our 3rd day was a good option.

BusJourney
It can be a bit bleak in parts

The arrival was quite chaotic. It’s not that the place was overly busy - it was certainly busy enough but I’ve been in busier places that handled crowds much better. It just seemed like there was little control over what was happening, who was being served, and who should go where next.

This wasn’t helped by the woman in front of us looking the wrong way waiting to be served…

There are 4 ‘levels’ of entrance you can buy: Standard, Comfort, Premium and Luxury. ‘Luxury’ was ridiculously expensive, so we went for Premium - it was a little dearer than the other options but it looked to be worth it.

It was. It meant we got to use a much quicker queue going in, and we got flip-flops as well as rental of robes and towels.

Places are limited, so you must book rather than just turn up. And apparently they’ve made a big effort recently to reduce the number of customers so that those that are there have a good experience.

I’m not sure it worked. If it did, I’d hate to see what it was like before.

But, and this is the most important bit, it didn’t matter once you got in to the lagoon.

UsInLagoon
Warm and happy

There was plenty of space in the lagoon. It could have handled many more people than were there even at the busiest we saw. It was just the customer-facing Front Of House that was terrible.

The lagoon was terrific.

UnderTheBridge
I sang the Red Hot Chili Peppers every time we went under a bridge

It’s a natural lagoon, full of geothermally heated sea water. It’s warm enough to bathe and relax in, with a few hot spots that could be uncomfortable after a while.

Steamy
Steamy!

There’s a bar, and our ‘Premium’ tickets got us a free drink. You get a special (NFC?) wristband that allows you to pay for things in the lagoon without having to carry cash or cards. It’s a nice idea, and it worked well in practice.

The lagoon had ‘stations’ with silica and algae for face masks. We gave both a go. I’ve no idea if they were any good or not. It certainly didn’t transform my appearance.

Masks
Us, in algae masks

It was nice being in the lagoon, but my favourite thing was just floating with my head nearly submerged and my feet sticking out of the water. SWMBO would keep an eye on me to make sure I didn’t just float away. Floating like that wasn’t really her thing, but I enjoyed it. Very relaxing, just let all my muscles relax. Aaaaaaaah…

Floating
Floating away…

I’d forgotten there was a sauna cave we could go to, but we were reminded by one of the staff at the algae mask kiosk. After a few brief minutes in the sauna, we headed under the waterfall.

I thought the falling water pummelled my shoulders quite hard, so I didn’t like it. SWMBO did. I reckon she could’ve stayed there all day.

Waterfall
I didn’t sing The Stone Roses at this point

The lagoon is pretty extensive. Some of the places we a little crowded at times - it was hard to get to the bar at first, but easier later.

We were told (on Tripadvisor?) that the lagoon had staff walking around the lagoon with iPads, who would take your photo and email it to you. That way you didn’t have to worry about waterproofing your camera or getting it damaged. I’d even thought about getting my email address laminated so that I could show it to the person instead of trying to spell it out every time. (Seriously, I love opinionatedgeek.com but it’s not a nice domain to have to spell.)

I’m glad I didn’t bother. Didn’t see a single one of these photographers the whole time we were there. There were lifeguards there for safety but not a single one of these mythical people with iPads.

Eventually I relented and bought one of the waterproof phone covers and went back to fetch my phone. (That was their plan all along!)

I’m glad I did. I got some nice pictures of us, and captured some nice memories of us in the water.

Another thing TripAdvisor got wrong: there were no problems with our robes or flip flops being nicked. TripAdvisor said it was prevalent - people who didn’t pay for the Premium tickets would just take any robe that was set down. Didn’t see anything like that. We left our robes and flip flops alone on a couple of occasions while we were in the lagoon, and they were always right where we left them when we came back.

The extra for Premium was really worth it. It was nice having a cold drink in the warm lagoon, it was nice taking the shorter queue, and it was nice having the robes - it was a bit cold and windy when you weren’t in the water.

We got the bus back to Reykjavik. Instead of going to the bus hub and getting a minibus from there to the hotel, this big bus just dropped us off a short walk from the hotel. Fine by us but I wouldn't have wanted to do that walk with a couple of suitcases! I still like the idea of flying in to Reykjavik, going straight to the lagoon for some relaxation before finally heading to the hotel. I suppose we’d have been fine with our small trundle cases but it might be tricky for those stopping off in Iceland on their round-the-world trip.

It was well after lunchtime by now, so we popped in to the bar that was first stop of the food tour. In keeping with the spirit of utterly failing to avoid paying the high price for alcohol, we had some alcohol, and for lunch we had reindeer balls. Well, meatballs made from reindeer, but reindeer balls sounds better.

Beer
Just don’t ask the price

The reindeer meatballs and sweet potato fries were very tasty.

It was mid-meatballs that we found out the Northern Lights tour was again cancelled. Tonight was our last chance - we fly out tomorrow - so that was disappointing. Still, the company was very good about it all. They could have taken our money and driven us around in the hope of seeing something, but they didn’t - they kept us up to date with their plans, and while they promised to email before 6:30pm they always emailed much earlier.

So, time to update our plans for the evening.

We headed back to our hotel so SWMBO could wash the lagoon out of her hair. After a nice relaxing cuppa we went out for SWMBO to buy some sweets for her workplace. I’d seen a nice pair of gloves and wanted to find out a bit more about them. Turns out they’re a UK brand – Sealskinz - so I didn’t bother buying them. I figured it would be cheaper to buy them in the UK than have them shipped to Iceland and pay the premium only to take them back to the UK the next day. Turns out I was right - instead of the £90 the gloves would have cost there, they were under £30 in the UK.

After that dander and a return to the hotel room, it was time to head out for dinner. This was more difficult than I expected but that’s just down to my not planning. Of course Friday night in a city means it’s going to be difficult getting in to a restaurant. We got the hotel to try to book Sjavargrillid but (of course) they were fully booked. We figured we’d just wander up the main strip and find somewhere appealing.

That wasn’t so successful. Everywhere seemed busy or just not what we were looking for that night. I like the spontaneity of just heading out and finding somewhere but I guess here I should have planned it better.

Troll
No comment. Seriously.

We made it to the top of the road at the Big Church without finding anywhere to eat. We did however find an awful lot of photographers taking pictures of the church. I have no idea why - I thought there might be something important on, but there was nothing as far as I could see. For some reason, there were just half a dozen photographers with tripods and expensive cameras taking night shots of the church. I wonder if it’s like that every night.

BigChurch
My uneducated, un-tripodded snap

We were running out of options so we headed in towards the city centre, again checking out a few places on the way. After trying a bunch of other places, SWMBO figured we should check out a quaint restaurant right on the main road which I thought would just be a total tourist trap, bunged with travellers. Turns out it’s bigger inside than I expected, and only mildly tourist-y. OK, quite tourist-y, but very good nonetheless.

SlopingRoof
We didn’t really have to duck under the slope

And, in a measure of just how we fail to learn from our mistakes, we went for the Icelandic Feast tasting menu. With paired wines.

Menu
Mmm…

The starter was interesting. It was four separate morsels:

  • Lamb on flatbread
  • Salmon gravlax
  • Dried haddock
  • Fermented shark

Starter
Four-in-one

The lamb was tasty. The salmon was fantastic. The shark and the fish though…

The shark came in that airtight jar. ‘Cute’, thought I. Our waitress said it could have a strong aroma, and was an acquired taste. ‘You might like it,’ she said as she put down a shot glass of Brennivin. “What’s the Brennivin for?” we asked. She said it’s to quickly take away the taste and smell of the shark.

Our waitress was not great at sales, it has to be said. She seemed to come from the ‘increase foreboding’ camp rather than the usual ‘increase anticipation’ side.

Still, we gave it all a go.

My jar had 3 small cubes of shark. I wasn’t sure if I was supposed to accompany it with anything, so I just popped one in to my mouth.

The texture was chewy and fibrous, not very like meat. The aroma was the surprise though. Ammonia! I don’t know about you but I have never in my life smelled ammonia and thought ‘That smells tasty’.

And as I chewed, the smell did indeed become stronger. The aroma was coming from the shark in my mouth, so I took a sip of Brennivin and that did indeed kill the smell.

I had the other two cubes and polished off the Brennivin. Shark isn’t for me, fermented or not, so I’m glad we don’t have to eat it to survive. SWMBO didn’t manage to finish her portion of shark. I didn’t volunteer to eat it though.

Finally, the wind dried haddock. This was pretty much like chewing plastic dipped in fish oil. I didn’t like it at all. I disliked it more than the shark, something that surprised SWMBO. I finished it, but not happily. Plastic. Chewable plastic. Dipped in fish oil. Plastic. Not tasty.

But that gravlax. That was just gorgeous. The cool, juicy salmon with a gentle dill dressing was so good. The lamb was nice too, but the gravlax was a genuine highlight. (And the plastic haddock a genuine lowlight, but I’ll shut up about that now.)

Next up was cream of langoustine soup, with ‘a cloud of cream’. I mentioned in yesterday’s post that I had ‘the best lobster soup in the world’ and didn’t particularly like it, and, well, I didn’t like this either. It was quite mushroomy and I don’t like mushrooms. SWMBO assured me it was lovely.

The main course of lamb and potatoes was good. I don’t have a whole lot to say about it other than it was tasty (and served with a nice Campo Viejo Reserva Rioja).

MainCourse
Tasty, tasty lamb

Desert was a fruity Skyr that again was absolutely not yoghurt, but if you imagine a thick yoghurt with blueberries you’ll have a good idea of what it was.

Dessert
Not yoghurt

Tags: Personal
Created by on Logo15659OpinionatedGeek Ltd.Logo15659