Be Afraid of Economic ‘Bigness.’ Be Very Afraid.


In the 1930s it contributed to the rise of fascism. Alarmingly, we are experimenting again with a monopolized economy.

In the aftermath of the Second World War, an urgent question presented itself: How can we prevent the rise of fascism from happening again? If over the years that question became one of mostly historical interest, it has again become pressing, with the growing success of populist, nationalist and even neofascist movements all around the world.

Continue reading “Be Afraid of Economic ‘Bigness.’ Be Very Afraid.”

What are the biggest myths about owning a business?


As someone who has owned over 30 different businesses in speciality retail, fast food and hospitality, here are some of the biggest myths that I have discovered in relation to owning a small business, especially in the early stages:

Myth 1: That owning a business means that you can work whenever you like.

  • The truth is that you don’t own a business … it owns you. If it is right for the business to serve its customers 24/7, then it is up to you as the owner/manager to staff that need, even if it means staffing it yourself – which it usually does. It’s not uncommon for people that own their own business to commit 80–100 hours a week to its survival and success.

Myth 2: That you will make a fortune when you own your own business.

Continue reading “What are the biggest myths about owning a business?”

Know Your Limits: The Law of Grandiosity


Editor’s note: This is an excerpt from Robert Greene’s new book, The Laws of Human Nature.

We humans have a deep need to think highly of ourselves. If that opinion of our goodness, greatness, and brilliance diverges enough from reality, we become grandiose. We imagine our superiority. Often, a small measure of success will elevate our natural grandiosity to even more dangerous levels. Our high self-opinion has now been confirmed by events. We forget the role that luck may have played in the success, or the contributions of others. We imagine we have the golden touch. Losing contact with reality, we make irrational decisions. That is why our success often does not last. Look for the signs of elevated grandiosity in yourself and in others—overbearing certainty in the positive outcome of your plans; excessive touchiness if criticized; a disdain for any form of authority. Counteract the pull of grandiosity by maintaining a realistic assessment of yourself and your limits. Tie any feelings of greatness to your work, your achievements, and your contributions to society. 

Continue reading “Know Your Limits: The Law of Grandiosity”

John Williams’ Lush New Arrangement (for Anne-Sophie Mutter) of an Iconic Star Wars Theme

Source: @ionCURR3NT via

Whether or not you dug the Star Wars prequels, you have to admit the music was on point. “Duel of the Fates”? Incredible, classic stuff, integral to the series’ modern identity.

“Across the Stars,” too, better known as the love theme for Anakin and Padme, is also incredibly memorable, pulling all of the grandeur that John Williams’s music is known for together and melding it with a deep, galaxy-rending sense of longing.

Continue reading “John Williams’ Lush New Arrangement (for Anne-Sophie Mutter) of an Iconic Star Wars Theme”

Coding Tip: Try to Code Without Loops


You might uncover better solutions

In a previous article, I wrote about how trying to solve coding challenges without using if-statements might help uncover better solutions. In this article, we will explore how to solve some more challenges, but this time without using any loops.

By loops, I mean imperative loops like for,, for...of, while, and do...while. All of these are similar in the way that they provide an imperative way to perform iterations. The alternative is to perform iterations in a declarative way. Continue reading “Coding Tip: Try to Code Without Loops”

[Chicken-users] [ANN] CHICKEN 5.0.0 has been released

From: Peter Bex
Subject: [Chicken-users] [ANN] CHICKEN 5.0.0 has been released
Date: Wed, 7 Nov 2018 19:53:30 +0100
User-agent: NeoMutt/20170113 (1.7.2)

Dear CHICKEN users,

We are proud to announce the immediate availability of
CHICKEN 5.0.0 at the following URL:

This tarball has the following SHA256 checksum:

It has been a long stretch, but we finally made it!

This release contains the largest number of big-impact changes
we've made since the CHICKEN 4.0.0 release.

Most importantly, we have completely overhauled the module layout so
that it should make more sense where each identifier is located.
For a quick overview of where things are, see the page we used for
discussion of these changes:

The manual has of course also been updated to reflect these new modules:

Other notable features are:
- Full numeric tower
- A new declarative egg description format for chicken-install
- Improved support for static linking (eggs are now also compiled statically)
- "Deployment" mode has been dropped as it was less portable and reliable
  than static linking.
- Builds are fully bit-for-bit reproducible (for core, but user code too)
- Random numbers now use a better PRNG than libc rand() (namely, WELL512)
- Core has gone on a diet: several libraries have been moved to eggs, like
   srfi-1, srfi-13, srfi-14, srfi-18, srfi-69, and several other things.

The (very long!) complete list of changes since version 4.13.0 is
available here:

Because the testing period has been quite long, we've managed to port
many of the most important eggs to CHICKEN 5 already.  You can view them
at the new subdomain, see

Of course for the time being, not everyone can immediately switch to
CHICKEN 5 for everything, so also works.

If you have code you want to port, we've created a porting guide that
covers the most important pitfalls:

Many thanks to everyone in the community for their enthusiasm, mental
support and help with testing all this new code and enthusiastically
porting stuff to CHICKEN 5 even back when it was barely ready!


Attachment: signature.asc
Description: PGP signature

The Bcrypt Protocol… is kind of a mess

While writing my own bcrypt library, being unsatisfied with the current Java de-facto standard implementation jBcrypt, I discovered a lot of odd things surrounding the bcrypt protocol (mind you: not the underlying cryptographic primitive ‘Eksblowfish’).

Bcrypt is a password hashing function designed by Niels Provos and David Mazières in 1999 which became popular as the default password hash algorithm for OpenBSD¹. In comparison to simple cryptographic hash functions (like SHA-256), the main benefit of using bcrypt is that a developer can set how expensive it is to calculate the hash. This is called key stretching and should be used with any (usually weak) user provided password to protect against brute force attacks (i.e. simple guessing).


Introduction to Bcrypt

So how does it work? First you need a password and set the iteration count as a logarithmic work factor between 4–31, doubling the required computation every increment. So for example it could look like this:

bcrypt("secretPassword", 8)

which may output

Continue reading “The Bcrypt Protocol… is kind of a mess”