Big Data Analytics Solution

From Data Acquisitions to Insights – Big Data Analytics, Optimizing to solve the problems in various ways and get you where you want to go.

Mobiloitte Big Data Analytics Solutions Apache Hadoop An open source framework allowing distributed processing of a large number of data sets collected by an enterprise. Hadoop provides massive storage for all types of data sets, high-end data with the ability to process more powerfully and virtually handling concurrent works.

Apache Hive Enabling clients to undertake advanced jobs on the Hadoop distributed file system. This also allows SQL developers to program Hive query language statements, enabling summarizing the data more easily and analyzing a large amount of data.

Apache Mahout Our experts are specialized in building space for creating more scalable apps that meet the user requirements. We offer efficient apache mahout and proficiency in using machine learning algorithms, making a good sense out of all collectible data.

Apache Pig Our experts use pig to complete Hadoop jobs in spark and MapReduce. We help enterprises navigate complexities and ensure high-quality data.

Apache Zookeeper This is an open source project which deals with maintaining config information, naming, as well as providing group services which deployed on Hadoop cluster to administer the organization.

Apache Kafka We have an expert team in building enterprise-grade streaming apps as well as for streaming data pipelines, providing opportunities to drive more helpful business outcomes.

Apache Spark In order to make your business stay ahead and to gain more business benefits. Our experts provide processing and analysis to support big data apps using machine learning streaming analytics.

Mobiloitte experts deliver big data analytics solutions and big data consulting services to help you in strengthening your business foundation and help the organization in improving operational efficiency and lower the risks.

Biden: 'I would transition from the oil industry'

Democratic presidential nominee Joe BidenJoe BidenTrump and advisers considering firing FBI director after election: WaPo Obama to campaign for Biden in Florida Supreme Court reinstates ban on curbside voting in Alabama MORE pledged to transition away from fossil fuels Thursday night while defending a climate plan that does not ban fracking.

Biden has faced repeated attacks on fracking from President TrumpDonald John TrumpJudge rules to not release Russia probe documents over Trump tweets Trump and advisers considering firing FBI director after election: WaPo Obama to campaign for Biden in Florida MORE as focus increasingly shifts to Pennsylvania, a crucial battleground state where the drilling method is used. 

Biden’s climate plan does not call for a ban on fracking, but other features would hit the oil industry. He calls for no new drilling on public lands and would transition to net-zero emissions by 2050, which would limit the oil industry.

ADVERTISEMENT

“I do rule out banning fracking because we need other industries to transition to only net-zero emissions,” Biden said. “What I will do with fracking over time is make sure we can capture the emissions from fracking, capture the emissions from gas.”

“I would transition from the oil industry, yes,” Biden said later. “It’s a big statement because the oil industry pollutes significantly. … It has to be replaced by renewable energy over time.”

Trump was eager to draw attention to Biden’s statement.

“Will you remember that Texas? Will you remember that, Pennsylvania, Oklahoma?” Trump said.

Biden’s comments got pushback from one Oklahoma Democrat.

“Here’s one of the places Biden and I disagree. We must stand up for our oil and gas industry. We need an all-of-the-above energy approach that’s consumer friendly, values energy independence, and protects OK jobs. I’ll keep fighting for that in Congress,” tweeted Rep. Kendra HornKendra Suzanne HornChamber-backed Democrats embrace endorsements in final stretch Republican fears grow over rising Democratic tide Stand-alone bill to provide relief for airlines blocked on House floor MORE (D-Okla.), who faces a challenging reelection race on Nov. 3. 

Lego Ideas 123 Sesame Street (21324)

If you were lucky, part of your pre-school experience was spending quality time learning from the humans and fuzzy monsters on Sesame Street. If you’re like me, you found a friend in Cookie Monster, sang along with Ernie and Bert, and wished you could take a nap in Big Bird’s nest. If you’re younger than me, then you might have spent time in Elmo’s world. No matter your age, they were good times, to be sure. The latest Ideas set from LEGO, 123 Sesame Street (21324), gives us a new chance to revisit old friends, and maybe make some new ones along the way. This 1,368-piece set will be available directly from LEGO.com and from LEGO stores starting November 1 for US $119.99 | CAN $149.99 | UK £109.99. The Brothers Brick was sent an early copy to review, and we’re eager to explore it with you. So come along, and let’s see who are the people in your neighborhood!


The box and contents

The front of the box for this set features a good look at the two buildings included: 123 Sesame Street and the corner store. You get a clear indication of what the set contains, including a good look at all six new minifigures.  Stylistically, LEGO chose to go with the “Adult collector” packaging for this set. That means a minimalist look: black background, prominent logo,  and key bits of info along the bottom. While I do think this design looks pretty snazzy, it also comes with a mandatory age range of “18+” which I’m not sure makes a ton of sense for a Sesame Street-themed set. This is another case where a more accurate idea of the suggested age range could help parents know if this is a good “family building set” or not. In building it, I found that there’s very little construction that younger builders would struggle with, and although there are a few fiddly bits, they don’t merit the 18+ age rating.

The back of the box has some icons stepping you through the flow of how an Ideas sets comes about, as well as a shot of the playset from the back. Three smaller pictures add a little visual interest, including a shot of all the included Muppets in real life. There’s also an inset of the one area not clearly shown from the front or back views: Cookie Monster’s apartment.

Inside the box are eleven numbered bags, an unnumbered bag with some larger parts, and a bag containing a 256-page square perfect-bound instruction book and a sticker sheet.

The instruction book cover is a little different than usual. Rather than a picture of the full set, LEGO decided to highlight the minifigures. The back cover is plain black with a centered Sesame Street logo.

Inside the book are some introductory pages where you can learn about Sesame Street, fan designer Ivan Guerrero, and set designers Ollie Gregory and Crystal Marie Fontan.

When I reviewed the Elf Clubhouse I pointed out how the solid black background of the “adult theme” instructions caused some real problems during the building process. While I would still prefer a lighter color background, I didn’t notice any real concerns with the background on this set. Most of the low-contrast building steps have a handy white background inset, which helps a lot.


The parts

Many times when I’m building a LEGO set I can spot logical cost-cutting measures in operation – areas of the build that are designed to use the same color/part combinations to help cut down on the variety of parts needed. This set is pretty much the inverse of that mindset. The product shots of the tan and green brownstone exteriors don’t do anything to prepare you for just how colorful the rest of the pieces are. Every bag held new surprises and variations, rare pieces and unusual colors. Here’s a shot of just some of the more interesting color mixes I came across. Considering that the 1×2 ingot and domed 1×1 tile aren’t all that common to begin with, it was amazing to get each of them in six different colors.

And the rainbow kicks into high gear when you start looking at the full array of building elements. Eight different colors of the 1×1 brick with stud on the side? Yes, please. That 2×4 dual-stud jumper tile in dark orange was seen a few times in 2020 Minecraft sets, but was a new piece for me.

In fact, there are several parts mixed in throughout the build that have only shown up in a few late-2020 sets.  The August Hidden Side wave, for example, is the only other source for this 1×2 half circle brick in black, while the 1x2x2 brick with studs on three sides debuted with the Mario them earlier this year.

There are a lot of stickers – and unfortunately you’re asked to cover up some very rare pieces with them. The 2×6 tile in back has only been seen once before in the 71374 Nintendo Entertainment System, and those 3×3 round tiles in white and dark red are brand new colors for unprinted elements.  That said, the art here is great, and although finding new uses for some of these designs will be challenging, they all add a great deal of fun and context to this set.

There are also a decent number of printed elements as well, including five brand new ones. I was kind of surprised to see 1×1 tiles from the DOTS sets show up, but I suppose it was inevitable. As we’ll see, there are several other DOTS elements included in this set.

Unique to this set is Elmo’s pet fish Dorothy in a “fishbowl” made of a minifigure head. The “123” building number is printed in gold and black on a clear 1×2 brick. Both prints are clean and sharp, and I like how the fish has a very LEGO-esque square mouth on it.

There are also three new printed tiles. The 1×4 yellow tile and 1×1 half-circle tile are used to make the Sesame Street logo on the street sign. A 1×1 orange heart tile brings Oscar’s pet worm Slimey to life. As a nice bonus, you get a spare of both the 123 tile and Slimey.

And speaking of bonus parts: It may be a bit of a spoiler, but let’s jump ahead to see all the parts you have leftover once the build is complete. Thanks to all those multi-colored bricks, the occasional “here’s a spare in case you lose one” part turns into a really huge pile of extras. Over 85 of them, by my rough count, or more than six percent extra over the quantity listed on the box.


The build

The build starts off as you’d expect, with a baseplate-like structure that will support the buildings.  There are some nice curves along the leading edge, although there are some visible gaps between the grey plate and the curved tile curb. The construction here is pretty straightforward, but you do get a vibrant splash of color on the underside.

The theme of hidden details continues with this spider. Although you can (sort of) see it through the basement window in the front, it’s very much hidden in the completed model. Maybe this is a tribute to the Itsy Bitsy Spider episode? Or the fact that Bert and Ernie no longer live in the basement?

At this point I’m just going to admit I had to research pretty much everything that happened in Sesame Street lore since…oh, 1976 or so. My apologies in advance for when I inevitably get something wrong.

The first floor of the main building features Elmo’s bedroom. One of the nicer touches are the open windows, a small but friendly detail. There’s also a pretty neat lampshade design, and the classic wall-mounted phone in black is a blast from the past. We’ll visit Elmo’s world again later in the build when some more details are added.

Outside, Big Bird’s nest area is starting to come together. A particularly bittersweet inclusion is Big Bird’s portrait of Mr. Hooper, which commemorated the actor’s passing. More unambiguously cheerful is the red birdhouse up on the wall, and mix of colors along the base of the wall.

On the other side of the building, it looks like Abby Cadabby has been busy painting a self-portrait. Note the bright pink 1×1 heart tile- a new color for that element. This is another area that will get a lot more added to it towards the end.

The next section of the build is the second floor where Bert and Ernie make their home. A couple of key locations are included, starting with Ernie’s bathtub and Rubber Duckie. The showerhead is a fun design, making use of the paint roller handle to form the plumbing. There are also some satin/opalescent trans-light-blue 1×1 DOTS tiles for water on the floor.

Overlooking Big Bird’s nest is Ernie’s window box. It may seem out of place at first glance, but that carton of milk is home to the Twiddlebug family.

Moving back inside, we have the very distinctive Pinball counting song wall clock, and Bert’s reading chair.

The other side of the room has Bert and Ernie’s beds. Some notable details are stickered tiles showcasing Bert’s bottlecap and paperclip collections. I wasn’t able to find an explanation for the toy dinosaur. (In my personal headcanon it’s because Ernie is a big fan of Rexy from How Ridiculous.) The room also features another cool lampshade. This time it’s made from a plain Minecraft minifigure head in white – another new element color unique to this set as an unprinted element.

Outside, the front door to 123 is now in place. The decorative element above the mantle is pretty sweet. It makes use of tan 1×1 heart tiles along the bottom. And, yeah, tan is a new color for those, too. The lights on either side of the door have octagonal jewel elements from the DOTS Cosmic Wonder bracelet.

Up on the roof, Bert gets to spend some quality time at his pigeon coop. The old-school TV aerial helps to keep the building a timeless classic. You can see here how the roof’s play area is constructed on a triangular plate, allowing a lot of light to get into the 2nd-floor spaces.

On the other side of the roof are some smokestacks and a crashed flying saucer. I really tried to figure out what that’s a reference to, but came up short. Maybe the Martians? An oblique shoutout to Muppets from Space? It’s a mystery. But I hope it’s the Martians. (Yip yip yip)

With 123 more or less complete, construction can start on Mr. Hooper’s corner candy store. The first-floor interior features a fun array of printed elements as merchandise, a coffee travel cup, and a classic cash register. Oddly the 1×1 bricks with Technic hole on the back wall don’t join up to anything. It almost feels like there was going to be another small addition to this set that was removed in the development process, but the attachment points for it were left in.

The rest of the corner store exterior has great detailing. I really like the arched window and hanging sign. The sand green texture along the roofline adds enough detail without making things feel cluttered. The striped awning is a classic LEGO design, and the use of a sticker for the diamond tile pattern under the counter works well. I’ve seen some other fan Sesame Street designs that used 1×1 tile to form a similar pattern, but I think the too-small-for-real-brick patterned sticker works very well.

Cookie Monster’s apartment is on the second floor. Over the bright light yellow easy chair is a picture of Cookie Monster’s Foodie Truck. Guy Smiley is hosting something on TV, although Cookie has some old VHS tapes ready to watch other classic episodes when that show is done. The portrait of the Count on the dark red 3×3 round tile is just cool enough to justify the covering of that currently unique piece. The gold trophy figure and toad may or may not be callbacks to something, but they sure look classy.

The final batches of parts add additional detail to areas constructed earlier on. Big Bird’s nest area is flushed out with a picture of Snuffy, a mailbox, and a tree for Big Bird to nest in. A big bucket stands in for the nest itself — a reasonable solution, although a brick-built nest would have been nicer. The inclusion of Big Bird’s teddy bear, Radar, softens the blow.

Out front of 123, the rubbish and recycling bins are now in place, giving Oscar a place to hang out. You can spot that spider web in the basement if you look really closely. It’s also worth pointing out that iconic fire hydrant. They nailed the colors on it, with a grey BB-8 dome brick on top giving it a great shape.

Abby Cadabby’s fairy garden adds some fun to the other side of 123, and provides some context for the wall art. In the foreground, you can see a tan 3-prong plant stem. That piece was previously only seen in black as a tuft of hair on the Kevin minifigure in the Minions sets.

Finally, we add a few more features to Elmo’s bedroom on the first floor of 123. He gets a dresser, rocket, goldfish bowl, stuffed rabbit, and a really clever mini-train. I’m not sure how it’s supposed to follow the track under the bed, but I suppose that’s what imagination is all about.

The final bit of detail I want to call out is the Sesame Street lamppost. Topped with a Mysterio Fishbowl helmet with a brand new satin/opalescent finish, it looks just perfect. I doubt I’ll be taking my set apart any time soon, but if I do this small section will remain together and get put on a shelf somewhere.


The finished model

All of the detail described above fits together really well in the completed model. From the front, Sesame Street is busy, but the sidewalk is mostly clear as a play area. The interior of Hooper’s store is a little tricky to get your hand into, but the door and open counter window allow for better access for placing minifigures.

From the back the play areas are a little cramped, and the areas on the 1st floor are pretty dark and hard to get to. But that’s a fair trade-off for how many important settings they were able to pack into the space. Everywhere you look, there’s something new to see or do. Normally I’d bemoan the lack of any Technic-based play features with moving parts, but I think the designers made the right choice to focus on form over function here.


These are the people in your neighborhood

This set comes with six exclusive minifigures and a bunch of animal friends. The minifigures all have either unique prints or entirely new molded elements, which is remarkable already since the LEGO Ideas line has previously avoided introducing new elements. Of them, Big Bird is the standout, with great leg printing, feathered arms, and a seriously amazing head/torso sculpt. Next up are Ernie and Bert – both are just about perfect recreations. Less successful are Oscar and Elmo. The decision to go with a “smooth” over “furry” look for them is a little off-putting. Sadly, my least favorite is Cookie Monster. He really needed to be chunkier, furrier, and maybe cast in dark blue instead of classic blue. I would have loved to see him with a head/torso piece similar to the ones used on the Ewok or Wookie minifigures. But even though I know he could have been better, I still love him. I mean, come on. LEGO has produced a sculpted Cookie Monster minifigure. That counts for a lot in my book.

From the back, you can see that only Ernie and Bert have dual-sided torso printing. You can also see the hint of fur on Elmo and Cookie monster’s head sculpts – another area that feels like a half-measure. Maybe if there had been a torso print to match the tufts-of-hair look here, it could have made them seem more muppet-like. Again, though, just look at that amazing Big Bird sculpt. Just outstanding work there.

Taking Oscar and Big Bird apart, you can see the elements that make them up. The 2×2 round tile for the trash can lid works better than the 2×2 radar dish you see in other sets. On Oscar’s head, a radar dish would have looked a little too much like a straw hat.

We’ve already talked about Oscar’s pal Slimey (on the 1×1 heart tile). but it’s also worth cataloging the other animal friends included in this set. You get the spider in the basement, two pigeons, a bat, a baby raptor, Big Bird’s teddy bear Radar, a stuffed bunny, and Ernie’s Rubber Duckie. And don’t forget you get a spare Slimey as a bonus piece, too.


Conclusion and recommendation

Okay, if you’ve read any of the above you already know how I feel about this set. If you’ve skipped to the end, let me say it plainly: I love this set. It appeals to me both from a deep sense of nostalgia as well as just being an excellent building experience. The exteriors are all read as accurate, the interiors are packed full of details and fun items, and the six minifigures are all unique additions. If I wasn’t a Sesame Street fan? I’d still want this set. From a parts perspective there are rare elements, tons of useful pieces, and a literal rainbow of colors to reuse. At a $119 price point and 1,368 pieces, the cost per part comes in at only 8.7 cents – a pretty reasonable mark for a licensed set. (And closer to 8.2 if you count all the spare elements you get!)  And if you’re just in it for the collectability? Well, it seems likely that the children of today will someday want this set from yesterday, too. So, yes. Come and play. Everything’s A-OK.


21324 LEGO Ideas: Sesame Street will be available starting November 1st direct from LEGO.com and from LEGO Stores for US $119.99 | CAN $149.99 | UK £109.99. It may also available via third-party sellers on Amazon and eBay.

The LEGO Group sent The Brothers Brick an early copy of this set for review. Providing TBB with products for review guarantees neither coverage nor positive reviews.


Check out our full gallery of images

PHP 8: Before and After

It’s only a few months before PHP 8 will be released, and honestly there are so many good features. In this post I want to share the real-life impact that PHP 8 will have on my own code.

# Events subscribers with attributes

I’m going to try not to abuse attributes, but I think configuring event listeners is an example of an annotation I’ll be using extensively.

You might know that I’ve been working on event sourced systems lately, and I can tell you: there’s lots of event configuration to do. Take this simple projector, for example:



class CartsProjector implements Projector
{
    use ProjectsEvents;

    protected array $handlesEvents = [
        CartStartedEvent::class => 'onCartStarted',
        CartItemAddedEvent::class => 'onCartItemAdded',
        CartItemRemovedEvent::class => 'onCartItemRemoved',
        CartExpiredEvent::class => 'onCartExpired',
        CartCheckedOutEvent::class => 'onCartCheckedOut',
        CouponAddedToCartItemEvent::class => 'onCouponAddedToCartItem',
    ];

    public function onCartStarted(CartStartedEvent $event): void
    {  }

    public function onCartItemAdded(CartItemAddedEvent $event): void
    {  }

    public function onCartItemRemoved(CartItemRemovedEvent $event): void
    {  }

    public function onCartCheckedOut(CartCheckedOutEvent $event): void
    {  }

    public function onCartExpired(CartExpiredEvent $event): void
    {  }

    public function onCouponAddedToCartItem(CouponAddedToCartItemEvent $event): void
    {  }
}

PHP 7.4

There are two benefits attributes will give me:

  • Event listener configuration and handlers are put together, I don’t have to scroll to the top of the file to know whether a listener is configured correctly.
  • I don’t have to bother anymore writing and managing method names as strings: your IDE can’t autocomplete them, there’s no static analysis on typos and method renaming doesn’t work.

Luckily, PHP 8 solves these problems:

class CartsProjector implements Projector
{
    use ProjectsEvents;

    
    public function onCartStarted(CartStartedEvent $event): void
    {  }

    
    public function onCartItemAdded(CartItemAddedEvent $event): void
    {  }

    
    public function onCartItemRemoved(CartItemRemovedEvent $event): void
    {  }

    
    public function onCartCheckedOut(CartCheckedOutEvent $event): void
    {  }

    
    public function onCartExpired(CartExpiredEvent $event): void
    {  }

    
    public function onCouponAddedToCartItem(CouponAddedToCartItemEvent $event): void
    {  }
}

PHP 8

# Static instead of doc blocks

A smaller one, but this one will have a day-by-day impact. I often find myself still needing doc blocks because of two things: static return types and generics. The latter one can’t be solved yet, but luckily the first one will in PHP 8!

When I’d write this in PHP 7.4:


public static function new()
{
    return new static();
}

PHP 7.4

I’ll now be able to write:

public static function new(): static
{
    return new static();
}

PHP 8

If you read my blog, you know I wrote quite a bit about the use of PHP’s type system combined with data transfer objects. Naturally, I use lots of DTOs in my own code, so you can imagine how happy I am, being able to rewrite this:

class CustomerData extends DataTransferObject
{
    public string $name;

    public string $email;

    public int $age;
    
    public static function fromRequest(
        CustomerRequest $request
    ): self {
        return new self([
            'name' => $request->get('name'),
            'email' => $request->get('email'),
            'age' => $request->get('age'),
        ]);
    }
}

$data = CustomerData::fromRequest($customerRequest);

PHP 7.4

As this:

class CustomerData
{
    public function __construct(
        public string $name,
        public string $email,
        public int $age,
    ) {}
}

$data = new CustomerData(...$customerRequest->validated());

PHP 8

Note the use of both constructor property promotion, as well as named arguments. Yes, they can be passed using named arrays and the spread operator!

# Enums and the match expression

Do you sometimes find yourself using an enum with some methods on it, that will give a different result based on the enum value?


class InvoiceState extends Enum
{
    private const PENDING = 'pending';
    private const PAID = 'paid';

    public function getColour(): string
    {
        return [
            self::PENDING => 'orange',
            self::PAID => 'green',
        ][$this->value] ?? 'gray';   
    }
}

PHP 7.4

I would argue that for more complex conditions, you’re better off using the state pattern, yet there are cases where an enum does suffice. This weird array syntax already is a shorthand for a more verbose conditional:


class InvoiceState extends Enum
{
    private const PENDING = 'pending';
    private const PAID = 'paid';

    public function getColour(): string
    {
        if ($this->value === self::PENDING) {
            return 'orange';
        }
    
        if ($this->value === self::PAID) {
            return 'green'
        }

        return 'gray';
    }
}

PHP 7.4 — alternative

But with PHP 8, we can use the match expression instead!


class InvoiceState extends Enum
{
    private const PENDING = 'pending';
    private const PAID = 'paid';

    public function getColour(): string
    {
        return match ($this->value) {
            self::PENDING => 'orange',
            self::PAID => 'green',
            default => 'gray',
        };
    }
}

PHP 8

# Union types instead of doc blocks

When I mentioned the static return type before, I forgot another use case where docblock type hints were required: union types. At least, they were required before, because PHP 8 supports them natively!


public function sanitize($input): string;

PHP 7.4

public function sanitize(string|int $input): string;

PHP 8

# Throw expressions

Before PHP 8, you couldn’t use throw in an expression, meaning you’d have to do explicit checks like so:

public function (array $input): void
{
    if (! isset($input['bar'])) {
        throw BarIsMissing::new();
    }
    
    $bar = $input['bar'];

    
}

PHP 7.4

In PHP 8, throw has become an expression, meaning you can use it like so:

public function (array $input): void
{
    $bar = $input['bar'] ?? throw BarIsMissing::new();

    
}

PHP 8

# The nullsafe operator

If you’re familiar with the null coalescing operator you’re already familiar with its shortcomings: it doesn’t work on method calls. Instead you need intermediate checks, or rely on optional helpers provided by some frameworks:

$startDate = $booking->getStartDate();

$dateAsString = $startDate ? $startDate->asDateTimeString() : null;

PHP 7.4

With the addition of the nullsafe operator, we can now have null coalescing-like behaviour on methods!

$dateAsString = $booking->getStartDate()?->asDateTimeString();

PHP 8



What’s your favourite PHP 8 feature? Let me know via Twitter or via e-mail!

Noticed a tpyo? You can submit a PR to fix it. If you want to stay up to date about what’s happening on this blog, you can follow me on Twitter or subscribe to my newsletter:

Capitalism is in crisis. To save it, we need to rethink economic growth

Even before the covid-19 pandemic and the resulting collapse of much the world’s economy, a crisis in capitalism was plainly evident. Unfettered free markets had pushed inequality of income and wealth to extremely high levels in the United States. Slow productivity growth in many rich countries had stunted financial opportunities for a generation. Businesses, if no longer quite oblivious to global warming, seemed impotent to make changes that might slow it.

And then came the pandemic, with millions losing their jobs, and then the raging wildfires, fueled by climate change, that blazed up and down the US West Coast. All the simmering signs of a dysfunctional economic system suddenly became fully evident, full-blown disasters.

No wonder many in the US and Europe have begun questioning the underpinnings of capitalism—particularly its devotion to free markets and its faith in the power of economic growth to create prosperity and solve our problems. 

The antipathy to growth is not new; the term “degrowth” was coined in the early 1970s. But these days, worries over climate change, as well as rising inequality, are prompting its reemergence as a movement. 

Calls for “the end of growth” are still on the economic fringe, but degrowth arguments have been taken up by political movements as different as the Extinction Rebellion and the populist Five Star Movement in Italy. “And all you can talk about is money and fairy tales of eternal economic growth. How dare you!” thundered Greta Thunberg, the young Swedish climate activist, to an audience of diplomats and politicians at UN Climate Week last year.

At the core of the degrowth movement is a critique of capitalism itself. In Less Is More: How Degrowth Will Save the World, Jason Hickel writes: “Capitalism is fundamentally dependent on growth.” It is, he says, “not growth for any particular purpose, mind you, but growth for its own sake.”

Rewriting capitalism: some must-reads

  • Reimagining Capitalism in a World on Fire

    BY REBECCA HENDERSON
    The Harvard Business School economist argues that companies can play an important role in improving the world.

  • Good Economics for Hard Times

    BY ABHIJIT V. BANERJEE AND ESTHER DUFLO
    The MIT economists and 2019 Nobel laureates explain the challenges of boosting growth both in rich countries and in poor ones, where they do much of their research.

  • Fully Grown: Why a Stagnant Economy Is a Sign of Success

    BY DIETRICH VOLLRATH
    The University of Houston economist argues that slow growth in rich countries like the United States is just fine, but we need to make the benefits from it more inclusive.

  • Less Is More: How Degrowth Will Save the World

    BY JASON HICKEL
    A leading voice in the degrowth movement provides an overview of the argument for ending growth. It’s a convincing diagnosis of the problems we’re facing; how an end to growth will solve any of them is less clear.

That mindless growth, Hickel and his fellow degrowth believers contend, is very bad both for the planet and for our spiritual well-being. We need, Hickel writes, to develop “new theories of being” and rethink our place in the “living world.” (Hickel goes on about intelligent plants and their ability to communicate, which is both controversial botany and confusing economics.) It’s tempting to dismiss it all as being more about social engineering of our lifestyles than about actual economic reforms. 

Though Hickel, an anthropologist, offers a few suggestions (“cut advertising” and “end planned obsolescence”), there’s little about the practical steps that would make a no-growth economy work. Sorry, but talking about plant intelligence won’t solve our woes; it won’t feed hungry people or create well-paying jobs. 

Still, the degrowth movement does have a point: faced with climate change and the financial struggles of many workers, capitalism isn’t getting it done. 

Slow growth

Even some economists outside the degrowth camp, while not entirely rejecting the importance of growth, are questioning our blind devotion to it. 

One obvious factor shaking their faith is that growth has been lousy for decades. There have been exceptions to this economic sluggishness—the US during the late 1990s and early 2000s and developing countries like China as they raced to catch up. But some scholars, notably Robert Gordon, whose 2016 book The Rise and Fall of American Growth triggered much economic soul-searching, are realizing that slow growth might be the new normal, not some blip, for much of the world. 

Gordon held that growth “ended on October 16, 1973, or thereabouts,” write MIT economists Esther Duflo and Abhijit Banerjee, who won the 2019 Nobel Prize, in Good Economics for Hard Times. Referencing Gordon, they single out the day when the OPEC oil embargo began; GDP growth in the US and Europe never fully recovered. 

The pair are of course being somewhat facetious in tracing the end of growth to a particular day. Their larger point: robust growth seemingly disappeared almost overnight, and no one knows what happened.

Duflo and Banerjee offer possible explanations, only to dismiss them. They write: “The bottom line is that despite the best efforts of generations of economists, the deep mechanisms of persistent economic growth remain elusive.” Nor do we know how to revive it. They conclude: “Given that, we will argue, it may be time to abandon our profession’s obsession with growth.”

In this perspective, growth is not the villain of today’s capitalism, but—at least as measured by GDP—it’s an aspiration that is losing its relevance. Slow growth is nothing to worry about, says Dietrich Vollrath, an economist at the University of Houston, at least not in rich countries. It’s largely the result of lower birth rates—a shrinking workforce means less output—and a shift to services to meet the demands of wealthier consumers. In any case, says Vollrath, with few ways to change it, we might as well embrace slow growth. “It is what it is,” he says. 

Vollrath says when his book Fully Grown: Why a Stagnant Economy Is a Sign of Success came out last January, he “was adopted by the degrowthers.” But unlike them, he’s indifferent to whether growth ends or not; rather, he wants to shift the discussion to ways of creating more sustainable technologies and achieving other social goals, whether the changes boost growth or not. “There is now a disconnect between GDP and whether things are getting better,” he says.

Living better

Though the US is the world’s largest economy as measured by GDP, it is doing poorly on indicators such as environmental performance and access to quality education and health care, according to the Social Progress Index, released late this summer by a Washington-based think tank. In the annual ranking (done before the covid pandemic), the US came in 28th, far behind other wealthy countries, including ones with slower GDP growth rates.

“You can churn out all the GDP you want,” says Rebecca Henderson, an economist at Harvard Business School, “but if the suicide rates go up, and the depression rates go up, and the rate of children dying before they’re four goes up, it’s not the kind of society you want to build.” We need to “stop relying totally on GDP,” she says. “It should be just one metric among many.”

Part of the problem, she suggests, is “a failure to imagine that capitalism can be done differently, that it can operate without toasting the planet.”

In her perspective, the US needs to start measuring and valuing growth according to its impact on climate change and access to essential services like health care. “We need self-aware growth,” says Henderson. “Not growth at any cost.” 

Daron Acemoglu, another MIT economist, is calling for a “new growth strategy” aimed at creating technologies needed to solve our most pressing problems. Acemoglu describes today’s growth as being driven by large corporations committed to digital technologies, automation, and AI. This concentration of innovation in a few dominant companies has led to inequality and, for many, wage stagnation. 

People in Silicon Valley, he says, often acknowledge to him that this is a problem but argue, “It’s what technology wants. It’s the path of technology.” Acemoglu disagrees; we make deliberate choices about which technologies we invent and use, he says.

Acemoglu argues that growth should be directed by market incentives and by regulation. That, he believes, is the best way to make sure we create and deploy technologies that society needs, rather than ones that simply generate massive profits for a few. 

Which technologies are those? “I don’t know exactly,” he says. “I’m not clairvoyant. It hasn’t been a priority to develop such technologies, and we’re not aware of the capabilities.”

Turning such a strategy into reality will depend on politics. And the reasoning of academic economists like Acemoglu and Henderson, one fears, is not likely to be popular politically—ignoring as it does the loud calls for the end of growth from the left and the self-confident demands for continued unfettered free markets on the right. 

But for those not willing to give up on a future of growth and the vast promise of innovation to improve lives and save the planet, expanding our technological imagination is the only the real choice.

Tech on the Ballot in November

While technology has become more and more central to everything we do, regulations around the business and usage of that technology have failed to keep up.  

Congress has been deadlocked on some of the biggest tech policy issues. Lawmakers have debated passing a national privacy law for years, police reform—which includes limitations on facial recognition technology—is stalled, and our internet infrastructure lags behind much of the rest of the world’s. And while the Department of Justice just filed a major lawsuit against Alphabet for antitrust violations, new federal legislation recommended to rein in Big Tech is unlikely to pass anytime soon.

That’s left controversial questions surrounding technology and the tech industry under dispute—from whether gig workers deserve full benefits, to precisely what sort of personal data should be private, to how to expand internet access, to whether there should be restrictions on the police accessing private technology and the public accessing police technology. Now many of those thorny issues are going directly to the people come Nov. 3, when voters in several states and cities will consider a slate of tech-related measures whose fate could impact how these pressing issues are handled around the country.  

Here’s a roundup of some of the big questions on the ballot in 2020. 

↩ link

California: Should Gig Workers Be Contractors or Employees? 

In August, Lyft and Uber threatened to suspend their ride-sharing services in California if they had to comply with AB5, a 2019 state law that requires companies to treat most workers, including those in the gig economy, as employees rather than independent contractors. The suspension was put on hold when California’s 1st District Court of Appeal ruled that the companies didn’t have to comply with the law while their lawsuit over AB5’s constitutionality proceeds.

Now California voters will weigh in on the issue with Proposition 22, which if passed, would allow tech companies to classify app-based workers—those who drive for Lyft, Uber, DoorDash, Postmates, and Instacart, for example—as independent contractors, exempting the gig companies from complying with AB5. 

If Proposition 22, which requires majority approval, passes, drivers will remain as independent contractors, but they would gain some benefits—mainly receiving 20 percent above the local or state minimum wage, depending on their location.

The proposition is also self-protecting, as it contains language that would require any legislative amendments to the bill—meaning any law having to do with the employment status of  “app-based drivers”—to pass with seven-eighths (87.5 percent) of the legislature’s support. 

If the ballot measure fails, gig companies may have to classify their drivers as employees, which could give them a fuller slate of benefits, like paid sick leave and overtime pay.

As of September, the “yes” campaign, which is backed by major tech companies and the California Republican Party, had raised more than $181 million, compared to the nearly $16 million raised by the opposing side. No other ballot measure has raised this amount of money, making it the most expensive in the state’s history. Those opposed include senators Kamala Harris, Bernie Sanders, and Elizabeth Warren, as well as the California Democratic Party. 

—Emmanuel Martinez

↩ link

California: Should Tech Companies Pay You for Your Private Data? 

Proposition 24, The California Privacy Rights Act of 2020, looks a lot like an existing law, the California Consumer Privacy Act of 2018, which gives state residents some control over their online privacy and data, like the right for consumers to know what personal information businesses collect and the right to delete it.  

If the proposition passes, it would further codify these protections and create a $10 million agency to enforce these laws.

“The main purpose of the proposition is to lock in the beneficial points of the California Consumer (Privacy) Act,” said Jamie Court, the president of Consumer Watchdog, a nonprofit organization that advocates for consumer rights and supports the proposition. “After the California Consumer (Privacy) Act passed in ’18, 2019 was spent defending it in the legislature from assault.”

Privacy shouldn’t be something that people pay for.

Jacob Snow, ACLU of Northern California

The ballot measure also would allow companies to offer discounts, rewards, or loyalty programs in exchange for someone’s personal information. The proposition takes an opt-out approach, meaning individuals have to tell companies to stop collecting their online data and personal information. Those two elements have drawn criticism. 

“Privacy shouldn’t be something that people pay for,” said Jacob Snow, an attorney at the American Civil Liberties Union of Northern California, which opposes the proposition. “It’s a fundamental right.

—Emmanuel Martinez

↩ link

California: Is an Algorithm More Fair Than Cash Bail? 

Proposition 25 seeks to eliminate a cash-based system for bail and instead assign each person accused of a crime an algorithmically generated risk score to determine if he or she should be locked up in jail pending trial. 

Advocates for both sides of the proposition argue that the alternative is discriminatory. Those in favor of the proposition say the bail system has less to do with a person’s likelihood to commit a new crime and everything to do with how much money that person has—poor people accused of a low level crimes might spend months in jail awaiting trial, while rich people accused of violence can buy their freedom while they fight their case.   

But opponents of the measure, some of whom also oppose the cash bail system, say risk assessments, which are already used in the federal criminal justice system, have been shown to be biased against Black defendants. Under the algorithm, defendants would be scored based on their likelihood to commit a crime or skip bail, with counties in charge of determining the exact factors considered, according to the Los Angeles Times

As the nonprofit newsroom CalMatters points out, the referendum has created some surprising political divides. Proponents of the measure include democratic governor Gavin Newsom and assembly speaker Anthony Rendon. Opponents include the bail bond industry, which profits from the status quo, as well as civil rights advocates like the state NAACP and Human Rights Watch. 

—Colin Lecher

↩ link

Massachusetts: Do Consumers Have a Right to Control Their Car’s Repair Data?

In 2012, Massachusetts voters overwhelmingly approved a ballot initiative creating the nation’s first right-to-repair law, focused on automobiles. That law requires car manufacturers to offer all of their diagnostic tools, replacement parts, and repair documentation to the public so that independent mechanics and mechanically inclined car owners might perform repairs.

A lot has changed in the automotive world since the original bill passed: Cars look more like computers, and mechanics increasingly rely on diagnostic data to solve problems and perform repairs. Many cars sold today come with cellular radios that send this telemetric data back to manufacturers—and it’s often encrypted, essentially creating a repair monopoly for authorized-dealer mechanics. 

On the ballot this year for Massachusetts voters is an update to the original law, covering control and access to the cars’ telemetric data. 

Car manufacturers have spent more than $25 million to defeat the measure.  

When the original bill passed, all the major car manufacturers signed a memorandum of understanding voluntarily adopting the requirements of the Massachusetts law nationwide.

The original law has also served as a template for similar “digital” right-to-repair laws covering smartphones, game consoles, and other consumer electronics. (Read more about the landscape of right-to-repair laws across the country.) 

—Jon Keegan

↩ link

Michigan: Do Police Need a Warrant to Search Your Phone? 

Protection against “unreasonable search and seizure” is guaranteed under the Fourth Amendment of the U.S. Constitution as well as Michigan’s state constitution. 

Courts have tended to rule that electronic data is protected under these laws, but the rulings have been focused on specific scenarios, such as a GPS tracker attached to a suspect’s car (United States v. Jones) or cellphone location data (Carpenter v. United States). Proponents of Ballot Proposal 20-2 argue that the state constitutional amendment would codify and broaden protections against warrantless searches of electronic data as technology evolves. Opponents argue that it could inhibit the police’s ability to investigate. “State law has not kept pace with technology,” The Detroit News wrote in a supportive editorial.

Similar amendments have already passed in New Hampshire and Missouri

—Adrianne Jeffries

↩ link

Akron, Ohio: Who Gets to See Police Bodycam Footage? 

Voters in Akron, Ohio, will decide on Issue 2, a proposed amendment to the city’s charter that would require local police to publicly release all bodycam and dashcam footage in situations in which officers used deadly force or caused “serious bodily injury.”

The killing of George Floyd by a Minneapolis police officer in May 2020 prompted a wave of legislation and ballot measures. In June, New York City mandated that bodycam footage be released within 30 days whenever the police use a Taser, gun, or other types of serious force. 

In Akron, police initially refused to release video of the January shooting of Elijah Cade, a 19-year-old Black man, after a traffic stop. The Akron Beacon Journal has also written about how even the city’s official police auditor does not have access to body camera footage. The proposal would still allow numerous exceptions under state law.

Body cameras are supposed to increase police accountability, but critics say they don’t always. Cameras may “simply intensify police surveillance of communities,” according to the Leadership Conference on Civil and Human Rights, and create the foundation for more sophisticated surveillance, such as the use of facial recognition, said the EFF

—Adrianne Jeffries

↩ link

Chicago, Ill.: Should Government Fund Broadband Access?

About one in five children in Chicago lack broadband access, and those kids are primarily Black or Latino. In July, the city council approved adding a simple question, Public Question 1, to the November ballot: “Should the City of Chicago act to ensure that all the City’s community areas have access to broadband Internet?” 

It’s a question of social equity, and broadband (information) should be accessible to rich and poor alike.

Chicago city council member George Cardenas

The referendum is nonbinding, but it’s significant in light of the bigger national debate over whether internet access should be considered a public utility—especially now that the novel coronavirus pandemic has forced many people to conduct work, school, and other essential activities online.

Chicago mayor Lori Lightfoot has said the city should ensure access for all residents, starting with a $50 million program aimed at students. The ballot question is designed to gain support for future spending on broadband infrastructure, said city council member George Cardenas. “It’s a question of social equity, and broadband (information) should be accessible to rich and poor alike,” he said in a Twitter message.

Adrianne Jeffries

↩ link

Portland, Maine: Can Police Use Facial Recognition Technology? 

No federal law regulates the use of facial recognition software by law enforcement. Some cities are taking action. Starting last year with San Francisco, a smattering of American cities have moved to ban facial recognition technology, citing its potential to invade people’s privacy and for racial bias. The jurisdictions that have banned the tools now include Oakland; Somerville, Mass.; Portland, Ore.; and Boston

In August, the Portland, Maine, city council approved a similar ban preventing city officials from using the software, and the city is now considering a referendum that would further strengthen the regulation, according to the Portland Press Herald

Question B, if passed, would allow private citizens to sue the city for violations of the ban and collect either $1,000 or $100 per violation, whichever is greater, if successful. The measure would also forbid prosecutors from using evidence obtained through facial recognition and make the use of facial recognition grounds to suspend or fire a city employee. 

—Colin Lecher

Linux 5.10 ARM64 Has a “8~20x” Performance Optimization Forgotten for Two Years

Last week was the main set of ARM 64-bit architecture updates for Linux 5.10 while today a second batch of changes were sent in for this kernel. That first round had the Memory Tagging Extension (MTE) and Pointer Authentication support among other improvements while this secondary pull has two notable performance optimizations.

First up is a performance optimization that the Arm developers acknowledge was seemingly forgotten about for some two years. Back in 2018 was a memory management speed-up by around 20x for the mremap system call on large memory regions. That work was merged but the feature never enabled for the ARM64 Linux kernel builds until now.

That patch by a Google engineer was an optimization for mremap given that Android relies on using it for large regions of memory during various operations. The mremap system call can be quite slow without transparent huge-pages (THP) while this patch makes things faster by copying at the PMD level when possible. The speed-up back in 2018 by the engineer was reported to be around ~20x faster on x86 (x86_64) with a 1GB mremap taking just 144~160 microseconds rather than 3.4~3.6 milliseconds. But for systems with THP support, there isn’t likely to be much of a performance difference.

The mremap system call is used for expanding/shrinking an existing memory mapping. Mremap is used in particular on Android and thus Google’s emphasis on making it faster. While the work was merged, taking this faster path for PMD-level remapping requires setting the HAVE_MOVE_PMD and that never got enabled as part of the ARM64 Kconfig — initially it was delayed while pending other improvements but then forgotten about. A few days ago it was noticed about HAVE_MOVE_PMD being set for x86 but not ARM64 with no current blockers preventing it from being enabled. The tests carried out this month saw an 8x improvement with this system call on ARM64.

So today’s pull request enables HAVE_MOVE_PMD for ARM64 on Linux 5.10, “this has been shown to improve mremap() performance, which is used heavily by the Android runtime [garbage collection], and it seems we forgot to enable this upstream back in 2018.

That pullals has several fixes along with another optimization: better Spectre V2 mitigation on Qualcomm Centriq “Falkor” CPUs. But with Qualcomm having divested from its ARM server chip ambitions, the Spectre V2 optimization will likely benefit few. That optimization comes from Falkor being able to mitigate Spectre Variant Two by calling into firmware or issuing a magic sequence of branches. That magic sequence is faster but requires special conditions and the ARM64 selection logic currently was only set to enable it if the firmware mitigation was unavailable.

What Comes After Kubernetes?

“Boring.” That’s one of the best compliments you can pay an infrastructure technology. No one wants to run their mission-critical applications on “spicy!” But boring? Boring is good.

Boring means that a technology has reached a certain level of ubiquity and trust, that it’s well-understood and easily managed. Kubernetes, in production at 78 percent of enterprises, has arguably passed that point, having become widely recognized as standard cloud-enabling plumbing that “just works.”

Or, otherwise said, has become “boring.”

Even as the Cloud Native Computing Foundation helps coordinate the development of a range of other projects to fill in any blanks left behind by Kubernetes at the infrastructure layer, the Kubernetes conversation has started to shift to what’s happening higher up the stack. In April, developer advocate superstar Kelsey Hightower observed that Kubernetes only solves half the problem in modernizing applications, if that:

There’s a ton of effort attempting to “modernize” applications at the infrastructure layer, but without equal investment at the application layer, think frameworks and application servers, we’re only solving half the problem.

What do we do about this?

Filling the gap between apps and infrastructure

“There’s a huge gap between the infrastructure and building a full application,” said Jonas Bonér, CTO and co-founder at Lightbend, in an interview. Bonér helped to start the open source project Akka, which is aimed at solving a complex problem set between the infrastructure and application, above Kubernetes on the stack. As Bonér put it: 

“It’s an exercise to the programmer to fill in this huge gap of what it actually means to provide SLAs to the business, all the things that are hard in distributed systems but needed for the application layer to make the most of Kubernetes and its ecosystem of tools.”

This is where an organization needs things that sit between the app and the infrastructure and make it all work, Bonér continued. It’s not about replacing anything, but rather about adding more tools in the toolbox and extending the infrastructure model of isolation, and constraints imposed by the network, into the app itself — delivered in an intuitive, flexible, and powerful, yet simple, programming model.

As two Tesla engineers discussed at a conference last year, Tesla relies on “digital twin” capabilities that power its electric grid, made possible by the combination of Akka and Kubernetes. “The majority of our microservices run in Kubernetes, and the pairing of Akka and Kubernetes is really fantastic,” said Tesla engineer Colin Breck. He explained:

Kubernetes can handle coarse-grained failures in scaling, so that would be things like scaling pods up or down, running liveness probes, or restarting a failed pod with an exponential back-off. Then we use Akka for handling fine-grained failures like circuit breaking or retrying an individual request and modeling the state of individual entities like the fact that a battery is charging or discharging.

According to Bonér, there are three generally unsolved areas that are still evolving above Kubernetes on the cloud-native stack, giving rise to new abstractions offered by technologies like Akka: application layer composition, stateful use cases, and data-in-motion use cases. 

Enabling declarative app layer composition

“People too often use old tools, habits, and patterns, often originating from the traditional (monolithic three-tier) designs that inhibit and constrain the cloud model delivered by Kubernetes,” Bonér noted. We need to extend the “amazingly good” model of containers, service meshes, and orchestration all the way up to the application/business logic, so we can make the most out of it while maintaining end-to-end guarantees on behalf of the application, he said. 

Serverless points the way by raising the level of abstraction, and providing a declarative model where as much as possible of boilerplate, infrastructure, and operations is removed and managed by the platform, leaving the developer with the essence: the business logic and its workflow.

Improving support for stateful use cases

Most of the cloud ecosystem is mainly tackling so-called 12-factor style applications, i.e., stateless applications. Sometimes that might be all you need. But non-trivial apps are usually a mixture of stateless and stateful use cases.

“We need more and better tools to tackle state well,” Bonér said. “The value is nowadays often in the data, and it’s often in the stateful use cases that most of the business value lies — making sure you can access that data fast, while ensuring correctness, consistency, and availability.”

In the cloud, unless you have a really good model, and the tools supporting it, you’re forced back to the three-layer architecture of pushing everything down into the database every time, regardless if it is for communication, coordination, or long-term storage of state.

Importantly, you also need good state models to complement the stateless approach, giving you more options in the toolbox. The extent of Kubernetes’ handling of stateful use cases today is really only supported in its StatefulSets feature, but StatefulSets are designed for the people that implement infrastructure like databases, Bonér noted, not for the app developers.

“So there’s still a huge gap here,” Bonér said. “That’s where Akka really comes in.”

Handling fast data or data-in-motion use cases

Arguably, the Kubernetes ecosystem doesn’t yet offer great support for streaming and event-based use-cases. Service meshes like Istio are designed around a request-response model and “can get in the way,” Bonér said. Streaming is also often stateful, with stages aggregating data in-memory while needing to be available, which ties into the discussion above. Work is underway in the Knative community to address this but we are just getting started, Bonér suggested.

Much of the thrust of these new directions seems to be the low code / no code / “decouple front end from back end” concepts that roll up under the serverless movement.

“Serverless gets us closer to addressing the problem of extending the model of Kubernetes into the application itself,” said Bonér. “That’s what it’s all about. Abstracting away as much as possible, and moving to a declarative model of configuration rather than coding, where you define what you should do and not how you do it.”

Application infrastructure that ‘just works’

As the cloud-native stack continues to evolve above the Kubernetes infrastructure level, it will be interesting to see how these concepts at the application layer play out to serve specific language developers. While many of the toughest application architecture challenges have long been the domain of server-side Java development, we seem to be moving toward a Jamstack architecture where increasingly it’s the JavaScript developers who expect to access application infrastructure that just works, especially as endpoints multiply exponentially.

This isn’t to suggest that back-end infrastructure isn’t important. Rather, it’s to acknowledge, as Ian Massingham has argued, that front-end developers vastly outnumber back-end developers, and for good reason: There are far more applications that need to be built than there is infrastructure that needs to be created to host it. Bridging the two worlds through open source projects like Akka becomes ever more important all the time.

James Randi, Illusionist – Obituary

James Randi, the psychic and illusionist, who has died aged 92, called himself the Amazing Randi and billed himself as “the man no jail can hold” in the tradition of the escapologist Harry Houdini; but above all he crusaded as the world’s pre-eminent debunker of pseudoscience and fraudulent magic.

As the scourge of dishonest psychics, hoaxers, fakers and charlatans, Randi claimed to speak on behalf of rationalists, and rejected the existence of psychic phenomena, which he believed were nothing more than “flim-flam” that could be explained by simple skulduggery or cheating.

One particular target was Uri Geller, the Israeli-born British illusionist who shot to fame in the 1970s with his spoon-bending act which featured on television all over the world. Although Randi was able to demonstrate how the illusion could be achieved using an ordinary magician’s sleight-of-hand, he believed that in a credulous age, many viewers were gulled not only into accepting what they were seeing as literal truth, but also – in some cases – they abandoned life-saving medical treatment in favour of what he called “the latest miracles”.

In 1975 Randi demonstrated Geller’s methods to a group of eminent British scientists, including Maurice Wilkins, the Nobel Prize-winning co-discoverer of the structure of DNA, at King’s College, London. “We believe that in investigating phenomena of apparently paranormal nature,” the scientists subsequently affirmed in a letter to Randi, “a qualified conjurer must be closely involved.”

Four years later Randi initiated his “Uri Awards”, which he distributed every April Fool’s Day to assorted scientists, journalists, and faith healers who claimed to be able to perform “psychic surgery” using paranormal powers.

The Amazing Randi, professional escapologist, peering out from a sealed underwater coffin in West Ham Municipal Baths, London, 1958


The Amazing Randi, professional escapologist, peering out from a sealed underwater coffin in West Ham Municipal Baths, London, 1958


Credit: Ron Burton/Getty

As a performing magician and escape artist in his own right, Randi appeared all over the world, from Manila and Sydney to Paris, New York and London. In 1975 he toured with Alice Cooper as an executioner who simulated a guillotining of the rock star on stage every night.

For World of Wizards on Canadian television, Randi was filmed suspended above the raging Niagara Falls while wriggling out of a straitjacket bound in chains. In 1985 he escaped from another straitjacket while dangling from a helicopter over Tokyo.

He regularly performed the Milk Churn escape borrowed from Houdini’s act, Houdini himself having once almost come to grief at the Empire Theatre, Leeds, when he accepted a challenge from the Tetley brewery to escape from a beer-filled galvanised metal container, only to fail after being overcome by the fumes and having to be rescued unconscious by an assistant.

James Randi was born Randall James Hamilton Zwinge in Toronto on August 7 1928, the son of a telephone company manager. He became hooked on magic as a child when he watched a friend perform a billiard-ball illusion. Scouring department stores for magic tricks to buy, he was 13 when he discovered the Toronto Arcade Magic and Novelty Store, and spent every Saturday there learning new tricks.

Randi wrote several books on hoaxers and magic


Randi wrote several books on hoaxers and magic

A child prodigy with an IQ of 168, James was bored and disruptive at the Oakwood Collegiate Institute, and often cut class to educate himself at Toronto’s public library, where, among other things, he learnt to read hieroglyphics.

When he was 15 he was arrested for disrupting a meeting at his local spiritualist church, where the pastor’s party piece was reading out the contents of sealed envelopes. Young James rushed on to the stage and demonstrated how the trick worked, spending four hours in a police cell before his father collected him.

A shy child who stuttered and stammered, Randi found that performing magic tricks boosted his self-confidence, and at 17 he left school to join Peter March’s travelling carnival. His initial persona was as a conjurer, Prince Ibis, complete with goatee, turban and a mouldy suit of tails, but by the age of 20 he was styling himself The Great Randall, Telepath. His displays of “mentalism” (extrasensory perception or ESP) so convinced onlookers that he was asked to help find missing children and even pick winning horses; failing to convince people that his psychic powers derived from trickery, he returned to his rabbits and wands.

By the mid-1960s he had his own all-night radio show in New York, drawing up to 150 letters a day. It was then that Randi, realising the growing scale of public credulity about clairvoyants and faith healers, decided to mobilise a campaign against charlatanry.

As an illusionist he starred in his own television specials around the world, and made a memorable appearance in Britain on Paul Daniels’s television show, when he apparently passed through the solid wall of a partly demolished building.

Randi in the film An Honest Liar (2014)


Randi in the film An Honest Liar (2014)

Having completed three world tours as a performer and lecturer, in 1974 Randi performed for President Ford at the White House. He became a prolific journalist and writer of books, the most celebrated of which was Conjuring (1992), acclaimed as the definitive history of “the venerable arts of sorcery, prestidigitation, wizardry, deception and chicanery, and of the mountebanks and scoundrels who have perpetrated these subterfuges on a bewildered public”.

Indeed, he became a recognised authority on the history of stage magic and an even more celebrated debunker of false claims about the paranormal. Discussing Randi’s 1982 book The Truth About Uri Geller, the astronomer and author Carl Sagan acclaimed it “a witty and fascinating dissection of Uri Geller’s humbuggery … a healthy antidote to charlatanry at all levels”.

A more sweeping indictment of the paranormal was contained in Randi’s Flim-Flam! Psychics, ESP, Unicorns and Other Delusions (1980). His other works included Harry Houdini: His Life And Art (1976); Test Your ESP Potential (1982); The Faith Healers (1987); The Magic World of the Amazing Randi (1989); The Mask of Nostradamus (1990); and James Randi, Psychic Investigator (1991).

His Encyclopedia of Claims, Frauds and Hoaxes of the Occult and Supernatural was published in 1995 and he was the subject of a biographical film documentary, An Honest Liar, in 2014.

Like his hero, Houdini, James Randi escaped from notorious jails around the world, having been bound with ropes and handcuffs and entombed in boxes and coffins. It is likely, however, that Randi will be remembered more as a writer and a zealous guardian of legitimate stage magic than for his own performances.

In a coffin, again at West Ham Municipal baths in 1958


In his coffin at West Ham Municipal baths, 1958


Credit: Ron Burton/Getty Images

He continued his campaign against bogus practitioners well into old age, holding forth on their devious methods at such institutions as the American Association for the Advancement of Science, the Royal Institution in London and even at the American Parapsychological Association, an experience Randi likened to “Martin Luther walking into the Vatican for lunch”.

In 1987 the Academy of Magical Arts in Los Angeles created a special fellowship for Randi in recognition of his efforts to preserve the art of conjuring as an entertainment rather than for deception and fraud.

Randi considered hate-mail an occupational hazard, and dealt with several threats to his life by fortifying his house, wearing body armour and surrounding himself with large bodyguards in bulky suits. Whenever he was pointed out as a representative of Satan, he would bow and wave.

He became a naturalised American citizen in 1987 and settled in Florida in the company of “a mellow old red cat named Charles, several untalented parrots, numerous other unnamed creatures and the occasional visiting magus or sorcerer’s apprentice”.

Randi was a founding fellow of the Committee for the Scientific Investigation of Claims of the Paranormal (CSICOP), and received a “genius grant” from the American MacArthur Foundation.

He also set up the James Randi Educational Foundation, which gave prizes and scholarships, provided data for researchers and the media – and offered a $1 million (£750,000) reward to anybody who could prove supernatural or paranormal powers under scientific conditions.

The foundation stopped taking applications when Randi stepped down in 2015, and the money remained unclaimed.

James Randi married, in 2013, Deyvi Peña, who survives him.

James Randi, born August 7 1928, died October 20 2020