fabiochiu/medium-articles huggingface dataset:
3 to read: LA Times debacle | Goodbye, alt weeklies | Amazing 1950s dataviz
By: Matt Carroll
Tags: Data Visualization, Media Criticism, Journalism, Media, Dataviz

By Matt Carroll <@MattCData>

Aug. 29, 2017: Cool stuff about journalism, once a week. Get notified via email? Subscribe: 3toread (at) gmail.

Originally published on 3toread.co

What’s the matter with the L.A. Times?: The editorial leadership of the L.A. Times was fired this week, in a stunning move. Well, here’s some of the jaw-dropping backstory that led to the axings. Ed Leibowitz of L.A. Magazine details the ineptness of editor-in-chief and publisher Davan Maharaj, who sat on major investigative pieces for years, but had time to ask reporters to check out his new Italian shoes. The story ran in December, but it’s worth resurrecting for it’s excruciating detail of dysfunction at the top of what was once a great newsroom.

Logo by Leigh Carroll (Instagram: @leighzaah)

2. What we lose when we say goodbye to alt weeklies: The Village Voice is dead, at least in print. So, pretty much, are alt weeklies across the country. Paul Farhi of the WaPo has a nice elegy of what we have lost when those quirky mixes of band reviews, massage parlor ads, and hard-hitting political coverage closed up shop. A good read.

3. Amazing graphics from the 1950s NYT archive: Most people tend to think of “data viz” as a relatively new phenomenon. Not quite. News orgs have been doing impressive data viz for as long as they have existed. Stuart A. Thompson on Medium has a wonderful piece on some spectacular (and forgotten) visualizations done at the NYT during the 1950s. Check out the cool space travel illustrations (all b&w, by the way).

Get notified via email: Send a note to 3toread (at) gmail.com

Matt Carroll is a journalism professor at Northeastern University.
3 Mistakes Junior Developers Make With React Function Component State
By: Tyler Hawkins
Tags: JavaScript, React, Software Engineering, Hooks, Programming

2. Setting State That Relies on the Previous State Without Using a Function

There are two ways to use the setter method returned by the useState hook. The first way is to provide a new value as an argument. The second way is to provide a function as an argument. So, when would you want to use one over the other?

If you were to have, for example, a button that can be enabled or disabled, you might have a piece of state called isDisabled that holds a boolean value. If you wanted to toggle the button from enabled to disabled, it might be tempting to write something like this, using a value as the argument:

// Initial setup

const [isDisabled, setIsDisabled] = useState(false) // Later, modifying the state

setIsDisabled(!isDisabled)

So, what’s wrong with this? The problem lies in the fact that React state updates can be batched, meaning that multiple state updates can occur in a single update cycle. If your updates were to be batched and you had multiple updates to the enabled/disabled state, the end result may not be what you expect.

A better way to update the state here would be to provide a function of the previous state as the argument:

// Initial setup

const [isDisabled, setIsDisabled] = useState(false) // Later, modifying the state

setIsDisabled(isDisabled => !isDisabled)

Now, even if your state updates are batched and multiple updates to the enabled/disabled state are made together, each update will rely on the correct previous state so that you always end up with the result you expect.

The same is true for something like incrementing a counter.

Don’t do this:

// Initial setup

const [counterValue, setCounterValue] = useState(0) // Later, modifying the state

setCounterValue(counterValue + 1)

Do this:

// Initial setup

const [counterValue, setCounterValue] = useState(0) // Later, modifying the state

setCounterValue(counterValue => counterValue + 1)

The key here is that if your new state relies on the value of the old state, you should always use a function as the argument. If you are setting a value that does not rely on the value of the old state, then you can use a value as the argument.
My top viewed posts, and thank you. ❤
By: Linda Caroll
Tags: Creativity, Advice, Reading, Inspiration, Writing

If the follow button isn’t green, you should click it so my writing lands in your feed. Thanks! :)

Follow
Understanding the Application
By: Ken Bourke
Tags: Software Development, Csharp, Dotnet, Software Engineering, Programming

You can pass data to a method using method parameters. The values passed to a method can be used inside of the method to influence the return value.

For example, you may define a method that adds two numbers together. The parameters for the method are two numbers, a and b. The return value of the method is the sum a + b. Each time you call the method in your program, you can pass different numbers to the method to get a different return value.

The Main method has a parameter called args. We’ll talk about args more in the next section.

Sometimes, there is confusion about the terms ‘parameters’ and ‘arguments’. When you define a method, you also define the names and the types of the values that are passed to the method. These are the method’s parameters.

When you call the method in your program, you pass an actual value, called an argument, to the method for each parameter.

WriteLine

Finally, on Line 9 we have a call to the method WriteLine which is part of the Console class.

The method WriteLine accepts a parameter of the data type String. In our application, we pass the argument “Hello Ken!” to the method.

WriteLine takes this argument and prints it to the Command Prompt window.

What’s Next?

In this part of the series, we explored that structure of the Program.cs file. Along the way, we got a brief introduction to concepts like directives and namespaces, classes, and methods.

Don’t worry if those concepts are unclear to you — we’ll go into much more detail as the series progresses. As you work through examples, you will begin to understand each concept better.

In the next part of the series, we’ll learn how to make our application interactive by accepting user input and using that input to modify the output of our application. You can find that part of the series here.
Marketing Fear, Uncertainty, Doubt and, Ultimately, Positivity for Profit
By: Matt Ward
Tags: Marketing, Sales, Business, Branding, Startup

The Default Option

Guess how many vets are open on Thanksgiving morning? None. It’s emergency rooms only. That’s powerful right there. Monopolies don’t need to worry about marketing or customer service (just look at cable and telecom companies). You only have one option, and they get away with murder.

The most valuable businesses are built on defaults. Whether it’s Google’s colossal search empire or Facebook’s massive ad engine, becoming a default in today’s economy is often associated with monopoly. And monopolies are the best businesses to build — certainly, they’re the most profitable. (Want to build a monopoly? Hacking the 5 types of network effects helps.)

That emergency vet had a monopoly all right. There wasn’t another within an hour’s drive. Who wants to waste that much time while your dog’s “dying?” Besides, I wanted to get back for turkey day.

It was a lot of pain and an easy decision — no other choice.

Not all businesses can become the default choice. Think about this in relation to your own business. What are you selling, who are your competitors and how do you differentiate?

That ER vet didn’t have to advertise, they didn’t need SEO — when they’re the only one open, guess where you end up.

What is that for your business? How can you become a default, even if only for a small niche?

If you’re the only supplier of XYZ or the exclusive partner of ABC, that’s differentiation and the beginnings of a moat. And without a moat, you’re not fundable, not really (many companies — including Uber and Blue Apron — get this wrong. Here’s why!)
My Ukulele
By: Paul Götze
Tags: Comics, Ukulele, Musicians, Illustration, Music

Welt Aus Quark collects small everyday moments that are worth honouring and turns them into comic strips and drawings

Follow
Genaro Network aimed at Sustainability
By: Kauwila Johsens
Tags: Environment, Energy, Sustainability, Data, Bitcoin

Mining cryptocurrencies became one of the hottest & most profitable sources of income across the globe. People who began mining early became wealthy fast. At the start, miners could use a simple home computer to earn a bitcoin. With more people mining bitcoin, the amount of energy required increases. Nowadays it takes a massive amount of energy to power the computers needed to solve the algorithms necessary to receive the rewards. The costs of setting up and running a mining operation is not profitable today. The amount of power needed to run a mining computer such as the Antminer s9 (Cost $8,200) constantly for one year is around 15,000 kilowatt hours producing approx. 0.85 bitcoins per year. Energy costs of mining a single bitcoin can range from $3,200 (in Louisiana) to $9,400 (in Hawai’i).

Smog in Shanghai, China

Sustainability and taking into consideration the impact being made on the environment should be at the forefront of people’s minds. While I do not think that all of the world’s energy will be consumed by 2020 because of bitcoin mining, I do think that mining the coin is becoming harmful to the environment. In China, where most mining takes place, fossil fuels are being used to power operations, causing further damage to China’s ecosystem.

‘Mining’ on the Genaro Network does not cause such harm on the environment. It can be done on a home computer, because miners on the Genaro Network share hard drive space instead of using exorbitant amounts of energy.

Genaro Eden is the first Dapp built on the Genaro Network, which allows users to store their data on Genaro’s public blockchain, giving them unparalleled security. That data is encrypted and separated into different pieces, which is stored on different nodes across the network. A benefit of becoming an Eden user is that with more users, costs for storing data will go down.

Genaro Sharer allows users to earn rewards for sharing their hard drive space. This creates a global ecosystem. The Genaro Network ensures that data is stored on the nearest node, which ensures data can be efficiently accessible. Sharer is sustainable, because it allows for the optimization of empty space, giving both parties benefit. Unused space does not remain idle, rather it can store others data, but also enable ‘Sharers’ to earn rewards as well.

Genaro Eden sells unused space to make storage more economical and environmentally friendly and sets the stage for the optimal allocation of resources. That is what we call “green computing!”

The Genaro Network understands taking care of the environment is important. Genaro Network is dedicated to sustainable solutions & is pursuing the elimination of damaging environmental impact which has been associated with the mining of cryptocurrencies. The ecosystem created enables for parties storing data and sharing unused space to benefit, while also optimizing hard disk space, which is often left unused.
Watch Out!!
By: Open House
Tags: Money, Business, Success, Startup, Motivation

Lamborghini Aventador from en.wikipedia.org

The Lamborghini posters on my walls have faded. I canceled my membership of the Rotary and other clubs, sold off my stocks, albeit at a loss, and stopped buying lottery tickets. Best of all, I chucked all the motivational books that I had in the bin. I consoled myself with only one thought — at least I tried.

It's better to have tried and failed than to live life wondering what would’ve happened if I had tried — Alfred Lord Tennyson

It took me well over thirty years to achieve this state of tranquility. Yes, everyone must strive to attain great heights. A few will make it through sheer grit and determination. But this is not enough. You need to have the foresight to know what people want and smart business acumen to bring your idea to fruition. The rest of us fall by the wayside. In the latter group, there are people like me who, for the love of Mike, never succeed in any venture. I am happy that I tried. I am also happy that I gave up trying, thus saving money and, most important of all, enormous stress that was taking a toll on my health.

When you have tried and lost, not just once, twice, or any number of times, be graceful enough to admit defeat. With every failure, step back, and assess. Is it achievable? Do I have the requisite knowledge, training, skills, and finances to continue without plunging into poverty? A friend of mine, a general practitioner, lost his entire bank balance trading penny stocks. He had to sell his house and now, his family lives in a caravan.

My pension is just about enough to pay for my bills, health insurance, and daily necessities. Having given up striving for anything, I am now writing stories for Medium and other blogs just to kill time waiting for my Maker. I am not going to stress out on this. I know I can never aspire to become a Tim Denning or Alexandra Sifferelin.

But the best part is — I am currently at peace with myself.

Are you?
What’s Left to Say About Maps?. Tackling the sticky questions about…
By: Data Visualization Society Team
Tags: Maps, GIS, Data Visualization, Mapping, Design

Our third Fireside Chat is all about maps. We tackle the sticky questions about best practices, when to break the “rules” of cartography, and let our panelists debate the merits of proportional symbols compared to choropleths. Not sure what those words mean? That’s fine; if you’ve been consuming maps in the news lately, we promise this session will be just as fun and exciting for you. After an initial discussion among the panel, we opened the floor for questions from viewers.

Panelists include:

Kenneth Field—Principal cartographic product engineer at ESRI

Madison Draper—Designer at Mapbox

Elijah Meeks—Chief visualization officer at Noteable

Moderated by Alberto Cairo

Subscribe to the DVS YouTube channel here.
Class 8: Preparing an AI Workshop
By: Jennifer Aue
Tags: AI, Design Thinking, Design, Adfclass

Class 8: Preparing an AI Workshop

The steps and tools for setting up an AI Design Camp or Workshop

Watch Class 8 >

Any time you’re asked to run an AI-focused design workshop or camp, the very first step is to make a duplicate of this folder and move it to your team’s project folder where you can start customizing it:

The AI Jumpstart Toolkit: Original >

The “AI Jumpstart Toolkit: Original” Box Folder contents

The documents in this folder are numbered to match the order you’ll need them in:

01_AI Jumpstart Guide

Review this first for a how-to on customizing, preparing for, and conducting an AI Jumpstart Camp. This is also a good reference to have printed and on hand throughout camp.

02_AI Jumpstart Agendas

1, 2, and 3 day agenda examples you can customize

03_Create your AI Camp Mural

Links to the design thinking Mural templates you can use or customize for your camp

04_AI Jumpstart Prep Work

Once you have your Mural and agenda established, share the prep work assignments with the camp attendees.

05_AI Jumpstart Kickoff

This is a deck template you can use to kickoff day one of camp.

06_ML 4 Design Guide

This is a good reference to have printed and on hand throughout camp.

07_AI Jumpstart Retro

Have the team complete this 15 minute retro to conclude your camp.

08_Journey to GA

A guide through your next steps — preparing to build and deploy AI, and setting measurable key results.

09_AI Camp Results

A PDF of measurable AI Design Camp results captured between 2018–2019.
How to buy Bitcoin by programming language?
By: Lin Li
Tags: Nodejs, Go, PHP, Java, Python

It is first time that programmer can buy and sell Bitcoin through their favorite programming language.

PHP

Java

C#

Node.js

Go

Python
7 Waking Actions You Can Do to Stay Productive for the Entire Day
By: Tiffany Sun
Tags: Creativity, Ideas, Productivity, Advice, Life Lessons

I use a chrome extension called New Tab Draft which basically turns your new tabs and windows into a type-able notepad. I use it to jot down random thoughts, quick reminders but most importantly, my to-do list.

Having your to-do list in a highly-visible and accessible place gives you a constant reminder to stay on track.

It’s been highly effective for me because everything I do is on the internet. By having my to-do list the first thing I see when I open a new tab, it’s becomes impossible to even open Facebook or Youtube because it reminds me of the things I should be focusing on.

This trick works well with everyone — I’ve seen startup founders use it, kitchen caretakers, mothers, office workers, lawyers, etc. The key is not to overwhelm your to-do list with tasks and focus on solving no more than 3 (preferably 1) major task that day. More details below.

3. Brainstorm 10 ideas

I got this idea from a very prolific writer, James Altucher, who says that by brainstorming 10 ideas each day, you force your mind to become more creative.

I practice this exercise religiously as a writer. Most of the topics I write down are scrapped, but there’s always one or two out of the 10 that makes for a great piece.

I’d suggest anyone, even non-writers, to practice this. If you’re a mom trying to figure out what to cook for dinner, practice writing down 10 things to cook. If you’re a comedian, come up with 10 jokes. If you’re an artist, do 10 quick sketches. The true value of coming up with 10 ideas, besides the improvement in creativity is that it’s a numbers game: supposedly the more ideas you come up with, the more good ideas you can generate.

4. Disable all notifications/Turn phone on silent

This is pretty self-explanatory, but it’s something that many people still don’t do at work.

Social media notifications, email alerts or any kind of notification in general is a major distraction to getting things done. We click on it, the badge with the red numbers, because our minds are built that way — to feel good when we see that we’ve accomplished a task or received a message from someone.

The reason why we feel good clicking these numbers is because our brain releases dopamine, a neurotransmitter that gets released anytime our brain wants us to feel good. It’s the same reason why people drink, gamble and have sex.

Disabling notifications are easy — there are generally settings or apps available for most phones that’ll allow you to set notifications to silent or disable them entirely. I use the ‘Do not disturb’ on both my Macbook and iPhone to achieve this.

As for things I can’t avoid like Medium notifications (because I write for a living), I use Stylish, a chrome extension that allows you to alter the appearance of a website. It’s for the slightly more technical people, but you basically hide the notifications entirely using CSS rules.
What makes you better developer?
By: Melih Yumak
Tags: Software Development, Development, Productivity, Developer, Software

Photo by MORAN on Unsplash

There might be so many different paths of being developer. But being better developer might be important for many of us as a personal challenges, curiosity of how computers work, proud of creating something.

Some people decide they want to be a developer from getting inspired by another cool developers in very early ages. Some people might just start wondering how does computers work at high school or collage and try to implement some applications by themselves. There are many different paths and factors has a great impact of being developer.

I remember my first code was a simple hang-man game but at that time there was so many popular video games i would like to play. That time i spent more time on playing these games rather than creating them. But now it is the opposite. I am spending more time to creating the software development.

I had a chance to meet & work with many successful developers and i tried to get inspired by them to became a better developer. Read so many articles about how people became successful after their attempts of what they are trying to do. Many of my searches gave me another point of view.

Personally i believe that can be applied many sectors requires hands on experience for being better on what you want to accomplish. There are so many people very successful on their jobs and their life. Many of them share the same principles in common.

P ractice

If you want to accomplish something (believe me it can be anything) you have to practice on it.

There is famous quote from Edison while he was trying to find electric lamp;

“ I have not failed 10,000 times. I have not failed once. I have succeeded in proving that those 10,000 ways will not work. When I have eliminated the ways that will not work, I will find the way that will work.”

Thomas Edison

People get frustrated when they can not accomplish something or to be afraid to make mistakes. If you don’t make this mistakes now you might make them later on. Do not afraid of being wrong or making mistakes.

If none of us made mistakes there would be nothing to learn from them.
Why Is Gold so Valuable?
By: David B. Clear
Tags: Money, Chemistry, Society, Science, Economics

How something useless becomes valuable

Something useless is valuable if we decide to treat it as valuable.

Seashells were once valued in many parts of the world and used as currency. Cigarettes have long been valued as money among prison inmates regardless of whether they smoked or not. And when smoking was banned, inmates started to value cans of mackerel, even expired ones. And you and I and everyone else value little pieces of paper with portraits and numbers printed on them.

We value things that everyone else values. And for some reason, everyone decided to value gold.
Programming in Your Browser Is (Almost) Here
By: Ben Soyka
Tags: Software Development, Github, Startup, Software Engineering, Programming

How It Works

Screenshot by the author.

By going to any GitHub repository and clicking three buttons, you’ll be taken to a working VS Code window in your browser within about 30 seconds. In this one tab, it’s possible to code, build, test, and deploy faster than ever before.

The possibilities are extended even more with a ready-to-go terminal and the ability to install VS Code extensions within your codespace. You can even connect to a codespace in VS Code on your own machine using the Visual Studio Codespaces extension.

Repositories can also have specific settings to further customize Codespaces, including automatically installing extensions, forwarding ports, and more. This is done in a new devcontainer.json file and is documented nicely.

One benefit of using Codespaces is that new developers can be ready to help out in just a few seconds, with fewer errors along the way. New contributors can instantly have access to all the tools and info needed to make their first commit to a project.

Take a look at this clip from the Satellite 2020 keynote for a live demo of Codespaces:
yes, this is an apocalypse — but it’s not what you think.
By: Sarah Aziza
Tags: Health, Poetry, Spirituality, Covid 19, Mental Health

a few weeks ago, a few friends of mine were sitting in our apartment discussing the news around COVID-19 — at the time, in the American mainstream, the issue was still a mere rumbling, a trickle of ominous but still-remote stories about Italian hospitals and Iranian patients and the occasional reminder to “wash your hands and cover your cough.” back then — in those naïve days of early March — none of us present knew anyone who had been personally affected by the disease (that would change less than a week later). our lives still proceeded with minimal disruption.

yet we had noticed that stores were selling out of hand sanitizer, that some offices were encouraging employees to work from home, that healthcare experts were appearing increasingly on national news to issue warnings that jarred our stubborn sense of immunity. murmurs about travel restrictions and school closings were beginning to rise, a subtle unease leaking into the air.

adding up the signs, one of my friends asked, with a furrowed brow, “so, is this like, an apocalypse?”

i smiled, probably chuckled a little, and asked if, rather than “apocalypse,” he had meant to use the word “epidemic.” he nodded, “yeah i guess so,” he said, although he was perhaps just being polite.

i’ve thought about that exchange many times since. in the moment, i took his remark as a sort of verbal typo — of course he didn’t mean “apocalypse” — that was not a word used in literal, adult discussions. for me, the term is inseparable from the Biblical book of Revelation, the “end times” narrative, an account laden with symbolic images of cosmic upheaval, supernatural destruction, and Final Judgement.

so of course it doesn’t apply here, right? if the heavens aren’t being split open, if “angels of woe” aren’t ravaging the earth, if the moon (or is it the sun?) hasn’t turned blood red — then apocalypse is not what we’re experiencing.

so my thinking went.

until i recalled that the root meaning of the word “apocalypse” (ἀποκάλυψις or apokalypsis) is simply: “to uncover, reveal, expose.”

so, antichrists and demon armies aside, a literal apocalypse is merely an event in which a hidden object, reality, or truth is revealed.

suddenly, my friend’s words feel — dare i say it — prophetic.

because, so far, this has all felt like a vast revelation, a global exposure — of truths we have too long, too often, covered over.
How to Thrive as a Freelancer Working From Home
By: Kahli Bree Adams
Tags: Business, Small Business, Entrepreneurship, Productivity, Freelancing

As a freelancer, I have the good fortune of being able to work from home. Lots of people dream about earning a living from the comfort of their own home. You can choose your own hours, you don’t have a long commute to work, no moody colleagues, … the list of advantages is almost endless — especially if you’re an introvert, like me.

But even if it feels like a veritable paradise at first, working from home can quickly degenerate into a nightmare if you don’t approach it with the necessary discipline and self-management. In fact, a freelancer survey has shown that 62% of freelancers feel stressed, and 54% find it hard to stay productive at home.

We all know that time is money, but unfortunately, a lot of it gets lost in disorganization and disruption. What’s more, we’re faced with a constant barrage of technology, people, and tasks that can contribute to this disorganization. Many freelancers find that they rush from one task to the next, trying to get everything done. In the end, it’s not just your productivity that suffers but your mental health too.

So, to all of you out there who are considering earning your living by working from home, here are a few helpful tips to get you started.
Word Analysis using Word Cloud in Python
By: Akash Deep
Tags: NLP, Word Cloud, Matplotlib, Python, Sentiment Analysis

Word Cloud

In this article we will try to understand the usage of very handy and useful tool known as word cloud. We will try to implement the Word cloud using python codes. This will be very short article

Word Cloud can be used in the analysis of words present in the corpus. Suppose you have a 2000–3000 words and we want to analyse which is the most common words or repeated words in the document. In the above discussed scenario word cloud will be very handy tool to use. People generally use it for the quick understanding of the document and used to understand what the document is about? Suppose if you have a 2000–3000 tweets and quickly you want to understand the nature of the tweet either its positive or negative. In this scenario word cloud will be very handy tool. Below are the steps we will follow to implement word cloud from scratch, right from the installation

Step 1: First we will install the word cloud by executing the below pip command from the terminal
Quantum Computing And The Meaning Of Life—Not Just ‘42’
By: Kevin Buddaeus
Tags: Technology, Data Science, Future, Science, Life

But what exactly is quantum computing?

To understand why it’s so incredible, one must look at the difference between a quantum computer and a regular computer. A regular computer works by switching millions of tiny transistors between 1 and 0, or “on” and “off”.

The computer can only tell each transistor to either let an electric current pass or not. There’s no other way and no in-between. So a computer has to switch through the different combinations, one by one.

First, it’s for example 1000101, then 0101101 and then 1100100. These three random numbers already represent 3 different setups and have to occur in order. The computer can not make all 3 of them simultaneously. And though coming up with these 3 will only take the computer a few nanoseconds, having to go through billions of combinations with a lot more numbers (transistors) involved, can quickly become a time-consuming effort.

A quantum computer makes use of a physical phenomenon that takes place in the still quite mysterious quantum world. A so-called “qubit”, which replaces the traditional transistor and consists of a molecule that’s deliberately spun at incredible speeds by shooting it with lasers at pinpoint accuracy while keeping it suspended in a near-absolute-zero environment, will fall into a so-called superposition.

Remember the transistor? It’s either 1 or 0. The qubit, however, can be either 0, or 1, or anything in between (meaning a little of both at the same time). It uses a quantum state, which basically means it’s everything and nothing at the same time.

To describe it really simply: Instead of having to go through the three binary number examples one after the other, a quantum computer can calculate and display all three at the same time.

Imagine the game where you put a little ping pong ball under one of three plastic cups and start switching the cups around. If you were to work like a regular computer, you’d lift them up one by one to find the ball. A quantum computer simply lifts up all three at the same time, finds the ball, and then acts as if it never lifted the two empty cups in the first place.
Easy Peasy Stores With Public and Private Actions
By: Daniel Yuschick
Tags: Programming, JavaScript, Redux, Typescript, React

Easy Peasy Stores With Public and Private Actions

Easy Peasy provides a better API and experience on top of Redux

Bengtskar Lighthouse, Finland, 2020. Photo by the author.

Since the end of 2019, I have been using Easy Peasy to manage the state of my applications both professionally and personally. The library has a familiar API and logic with a lightweight feel and good flexibility. If you’re using or have used Redux and aren’t fully sold on it, take a look into Easy-Peasy. It may be worth it.

“Easy Peasy is an abstraction of Redux, providing a reimagined API that focuses on developer experience.” — Easy Peasy’s official website

Each time I’ve set up an Easy Peasy store, I’ve experimented more with its implementation. I’ve asked myself more questions about not only what the library can do but what can be done with it. During my latest project, I had asked myself, “What if I wanted my app to have access to only a specific subset of actions? Can Easy Peasy create private and public actions for its stores?”

I looked through the docs but didn’t find an answer to this question. I’d hoped for something like JavaScript classes where I could preface any action or state value with private . But while that wasn’t the case, that doesn’t mean that wasn’t the answer.

I mentioned that with each project, I explored more of not only what Easy Peasy could do but what I could do with it — and this will be an example of the latter.

Note: This article will assume a base understanding of creating a store and Hooks using Easy Peasy. Some code samples will roughly include these concepts but will not explain them or show them in full. Please visit the Easy Peasy docs for better information on getting started.
Why React Hooks Are the Wrong Abstraction
By: Austin Malerba
Tags: Programming, React Hook, JavaScript, React, Software Engineering

Hooks Problem #1: Attached During Render

As a general rule of design, I’ve found that we should always first try to disallow our users from making mistakes. Only if we’re unable to prevent the user from making a mistake should we then inform them of the mistake after they’ve made it.

For example, when allowing a user to enter a quantity in an input field, we could allow them to enter alphanumeric characters and then show them an error message if we find an alphabetic character in their input. However, we could provide better UX if we only allowed them to enter numeric characters in the field, which would eliminate the need to check whether they have included alphabetic characters.

React behaves quite similarly. If we think about Hooks conceptually, they are static through the lifetime of a component. By this, I mean that once declared, we cannot remove them from a component or change their position in relation to other Hooks. React uses lint rules and will throw errors to try to prevent developers from violating this detail of Hooks.

In this sense, React allows the developer to make mistakes and then tries to warn the user of their mistakes afterward. To see what I mean, consider the following example:

This produces an error on the second render when the counter is incremented because the component will remove the second useState hook:

Error: Rendered fewer hooks than expected. This may be caused by an accidental early return statement.

The placement of our Hooks during a component’s first render determines where the Hooks must be found by React on every subsequent render.

Given that Hooks are static through the lifetime of a component, wouldn’t it make more sense for us to declare them on component construction as opposed to during the render phase? If we attach Hooks during the construction of a component, we no longer need to worry about enforcing the rules of Hooks because a hook would never be given another chance to change positions or be removed during the lifetime of a component.

Unfortunately, function components were given no concept of a constructor, but let’s pretend that they were. I imagine that it would look something like the following:

By attaching our Hooks to the component in a constructor, we wouldn’t have to worry about them shifting during re-renders.

If you’re thinking, “You can’t just move Hooks to a constructor. They need to run on every render to grab the latest value” at this point, then you’re totally correct!

We can’t just move Hooks out of the render function because we will break them. That’s why we’ll have to replace them with something else. But first, the second major problem of Hooks.
From Utopia to Reality: Marketing and the Big Data Revolution
By: Ella William
Tags: Big Data, Marketing, Analytics, Data Visualization, Data Science

Perfect information. First Degree Price Discrimination. You might know these terms from high school economics defining utopian conditions in the marketplace. One involves having instantaneous knowledge of all market prices, utilities, and cost functions. The other involves selling each customer a good as per his individual willingness to pay.

Read More
What is a Dashboard Style Guide and Why Should You Use One?
By: Anat Sifri
Tags: Design, Dashboard, Data Visualization, Uxui Design

What is a Dashboard Style Guide and Why Should You Use One?

Dashboard style guide (part 1)

Many organizations employ BI developers and data analysts to create data visualizations and dashboards. Many of them, do not come from a design background and they focus their efforts on the mere creation of dashboards. Often, the design is pushed out and falls into random visual choices which leave a result that looks messy and unclear.

A well-designed dashboard is not just “more beautiful”, but also easier to understand. When UX aspects are not taken into account, you may end up with a dashboard that does not serve the purpose it was made for in the first place and is inaccessible to end users.

What is a style guide?

A style guide is a document which provides guidelines for planning and designing components or pages. The objective is to create uniformity and consistency while reducing design efforts by reusing components.

A style guide is crucial especially for large companies as it helps them maintain a consistent brand and design language (internally and externally) — even when many designers are working on the company’s products.

A UX style guide focuses mainly on functionality, while a UI style guide emphasizes graphic design: colors, fonts, layouts, typography, etc.
3 Beliefs I Abandoned After 3 Years of Professional Coding
By: Piero Borrelli
Tags: Python, JavaScript, Technology, Productivity, Programming

2. Programmers Shouldn’t Be Insecure About Their Work

Now, I’ve got some really skilled senior developers working with me. They are competent individuals who require high standards from my pull requests. Otherwise, they will easily reject them without remorse.

I used to think of these people as developers not capable of doing any wrong. I would look at them in awe and wonder if one day I would reach their level of skills and never code anything incorrectly.

But this belief was wrong.

It didn’t take much for me to gain more experience and dialogue with my colleagues, only to realize that they have insecurities too. They don't always know everything and are not always sure about the best possible solution for a given problem. They have to constantly renew their knowledge like I have to. They know that sometimes they just have to go with the flow and their intuition on what is best for the project.

I’ve freed myself from this belief and now I don’t always feel stuck in my own world thinking that I will never be a senior developer because I know that seniors have my feelings of insecurity too.
COVID-19 Lays Bare Inequities In Our Health Care System
By: Harry Alford
Tags: Covid 19, Social Determinants, Black People, Coronavirus, Health

The coronavirus is disproportionately affecting Black Americans and intensifying social determinants of health.

Social determinants of health are conditions in which people live, work, and learn that impact health risks and health outcomes. COVID-19 is showing the world how social determinants of health, matter, especially to Black Americans.

According to The Henry J. Kaiser Family Foundation, social determinants of health include factors like socioeconomic status, education, neighborhood, and physical environment, employment, and social support networks, as well as access to health care. Addressing social determinants of health is vital for improving health and reducing health disparities. There are a growing number of initiatives to shape policies and practices in non-health sectors in ways that promote health and health equity like Medicaid-specific initiatives. However, many challenges remain and are visible in the COVID-19 data.

There are over 1.4 million cases of the coronavirus worldwide, according to Johns Hopkins University, and more than 80,000 deaths. Today, as stated by Worldometer, there are 400,412 coronavirus cases and 12,854 deaths in the US. The majority of fatalities are disproportionately Black. Nikole Hannah-Jones has done a great job aggregating the data in a Twitter thread:

Now, even as Black Americans risk higher exposure, they are already disproportionately suffering the comorbidities that make COVID-19 so deadly. Nikole Hannah-Jones explains, “Black Americans are 40 % more likely to have hypertension than white, twice as likely to have diabetes, up to 3x asthma hospitalization.” Additionally, poor Black people are more vulnerable to COVID-19. Blacks are more likely to work service sector jobs where they can’t practice social distancing and work from home.

So what do we do? Below are just a few ways to address the social determinants of health and help those most at risk:
We All Have a Story to Tell
By: Erika Sauter
Tags: Life, Writing, Life Lessons, Inspiration, Creativity

I believe writers are open books. Our readers are privy to our life experiences, our families, our personality traits and our thoughts and feelings. They share our secrets and our memories through our written words, but what happens when we have a story we yearn to tell but it can’t be told?

What happens when we can’t share the truth and there is no outlet? There are circumstances when it’s just not enough to write it for yourself, when you feel the need to be heard but you vow yourself to silence. Perhaps it’s too private or we fear consequences, or it’s a part of us we aren’t willing to share with the world.

It could be the story is too painful to share. I recently wrote a story that will never be published. No one other than me will ever read it.

My story is too painful. It keeps me awake at night crushing me. Allowing others in is my only hope for escape. Therefore, I will never be free.

“It must be a divine power or non-human force because every day I tell myself I’m done, yet I’m still here. I want to surrender but there’s this unexplainable will to keep going that I never knew I had.”

At the same time my story will eat me alive. It weighs heavy on me. Each word is carefully thought out. Emotions are adjectives. Actions are verbs. Specifics are nouns, yet no one will ever be given the opportunity to connect with each carefully chosen word.

There are some secrets I cannot share. There are certain truths that cannot be told. There’s a blank page in every book.

“I have no resolution. I’m incapable of freeing you from your pain. Each new day picks up where the last left off and I feel as desperate as you do. While you feel undeserving I feel as if I’m not doing enough.”

I am failing myself and my readers. I’m stifling characters, burying details and barricading scenes. There isn’t always a hero in the hero’s journey.

I am no hero.

I’m incapable of navigating the unknown world in real life and when we put things in writing they become a part of us that will always be there.

I refer to this as the curse of the creative. We become dependent on processing life through the process of writing. We become human when we are recognized as human. We become connected and bonded to those who we hook with our opening paragraph and cheer for us when we triumph in the end.
How to Start a New Brand
By: Andy Leverenz
Tags: Business, Branding, Entrepreneurship, Design, Freelancing

Starting a new brand is no easy feat. By “brand” we mean essentially starting a new business.

To do this effectively you first need to make sure you are solving a problem people actually need help solving.

Unfortunately, many businesses get too ahead of themselves and think they are solving a problem but come to find out that no one really needs their solution. This, in essence, is why so many businesses and startups fail.

If you are indeed solving a problem AND solving it well, you can then proceed to identify what we like to refer to as the first step in branding.

Ask yourself:

“What is it that you want to be known for?”.

Allow your customers to identify with you

Answering this question is a safe way to slowly grow a brand that encapsulates what it is you stand for and do. From there, your target audience will do their part in identifying with your business. This part comes naturally. The hope is that the “identification” period is a pleasant one. If it is, consumers will continue to come to you for whatever it is you offer.

Our video answers the question of “How to Start a New Brand” by taking our own brand (Couple of Creatives) and explaining the building blocks behind why we started it.

Follow along and try to find what it is about your own business that is unique. If you can identify something, focus on ways to make it valuable to your customers. If they can identify with you over your competition then your branding efforts are working.
The 12 Days of Christmas if It Were Written by Jane Austen
By: Kyrie Gray
Tags: Books, Literature, Satire, Music, Humor

Image by author

The 12 Days of Christmas if It Were Written by Jane Austen

After you watch Bridgerton, sing this Regency-themed carol

While watching the new show Bridgerton on Netflix and admiring all the historical drama, don’t forget the lady who inspired much of it. Jane Austen not only wrote novels, she wrote parodies of popular tunes including The 12 Days of Christmas. Though not as well-known as Pride and Prejudice, it’s worth a listen or a sing-a-long.

On the first day of Christmas Jane Austen gave to me;

A proposal to a lady.

Image public domain

On the second day of Christmas Jane Austen gave to me;

Two pompous men,

and a proposal to a lady.

On the third day of Christmas Jane Austen gave to me;

Three French gowns,

two pompous men,

and a proposal to a lady.

On the fourth day of Christmas Jane Austen gave to me;

Four carriages,

three French gowns,

two pompous men,

and a proposal to a lady.

Image public domain

On the fifth day of Christmas Jane Austen gave to me;

Five ruined girls!

Four carriages,

three French gowns,

two pompous men,

and a proposal to a lady.

image pubic domain

On the sixth day of Christmas Jane Austen gave to me;

Six ladies-a-walking,

five ruined girls!

Four carriages,

three French gowns,

two pompous men,

and a proposal to a lady.

On the seventh day of Christmas Jane Austen gave to me;

Seven schemers-a-scheming,

six ladies-a-walking,

five ruined girls!

Four carriages,

three French gowns,

two pompous men,

and a proposal to a lady.

On the eighth day of Christmas Jane Austen gave to me;

Eight mothers-a-worrying,

seven schemers-a-scheming,

six ladies-a-walking,

five ruined girls!

Four carriages,

three French gowns,

two pompous men,

and a proposal to a lady.

Image pubic domain

On the ninth day of Christmas Jane Austen gave to me;

Nine soldiers-a-flirting,

eight mothers-a-worrying,

seven schemers-a-scheming,

six ladies-a-walking,

Five ruined girls!

Four carriages,

three french gowns,

two pompous men,

and a proposal to a lady.

Image public domain

On the tenth day of Christmas Jane Austen gave to me;

Ten characters misunderstanding,

nine soldiers-a-flirting,

eight mothers-a-worrying,

seven schemers-a-scheming,

six ladies-a-walking,

five ruined girls!

Four carriages,

three French gowns,

two pompous men,

and a proposal to a lady.

On the eleventh day of Christmas Jane Austen gave to me;

Eleven meaningful glances,

ten characters misunderstanding,

nine soldiers-a-flirting,

eight mothers-a-worrying,

seven schemers-a-scheming,

six ladies-a-walking,

five ruined girls!

Four carriages,

three French gowns,

two pompous men,

and a proposal to a lady.

Image public domain

On the Twelfth day of Christmas Jane Austen gave to me;

Twelve maids actually working,

eleven meaningful glances,

ten characters misunderstanding,

nine soldiers-a-flirting,

eight mothers-a-worrying,

seven schemers-a-scheming,

six ladies-a-walking,

five ruined girls!

Four carriages,

three French gowns,

two pompous men,

and a proposal to a lady.
Machine Learning — How it works. Definitions of AI and ML. What their…
By: Dickson Wu
Tags: Machine Learning, Artificial Intelligence, AI, Data Science, Programming

Photo by Alina Grubnyak on Unsplash

You hear the words “Machine Learning” and “Artificial Intelligence” tossed around all the time nowadays. News articles pop up about how Artificial Intelligence (AI) is being used for predictive policing. You hear how companies are rushing to implement Machine Learning (ML) into their products. But what are AI and ML? How does it work? Read on to find out.

What’s the Difference? What are They?

In everyday life, we use ML interchangeably with AI, but they’re different! AI is the whole domain whereas ML is a specific field in AI. In other words, AI is to math as ML is to geometry.

So what are they? AI is the act of getting a machine to do actions that typically require human intelligence. This is a broad definition because it’s the definition for the whole field. AI applications range from chatbots, to composing music, to designing airplane parts!

How does AI do this? One approach is ML. Machine Learning processes give machines data, then have them learn automatically from that data to produce actions. This may seem simple at first, but actually programming a program to classify cats and dogs seems like an impossible task! But don’t worry , it’s possible, and you’ll learn how it works in the next section.