fabiochiu/medium-articles huggingface dataset:
Katalon Recorder v3.4: A powerful Selenium IDE alternative | 2020 Updated
By: Katalon Studio
Tags: Testing, Software Development, Programming, Continuous Integration, Web Development

The team at Katalon are excited to announce the release of Katalon Recorder 3.4 — the champion project of the Katalon Studio Hackathon contest. Katalon Recorder is the best Selenium IDE-compatible replacement on Chrome and Firefox that helps record, play, debug, manage automated tests as well as export to C#, Java, Ruby, Python, Groovy, or Robot Framework.

Last year, the testing community was disappointed seeing Selenium IDE be discontinued from Firefox 55 onwards. Many Selenium IDE alternative solutions have been chosen by the community as the successors. In order to support those users who are no longer able to use Selenium IDE or users of popular open source frameworks looking for a handy recorder, the Katalon Studio team developed and released Katalon Recorder.

Katalon Recorder is compatible with the latest Firefox and Chrome browsers. It is set to update automatically when a new version is available on the browser to make sure that users can keep up with its latest features.

Using Katalon Recorder, users can capture web elements and record actions on web applications to generate test case easily. Its intuitive interface allows users to edit, debug and play test cases and test suites quickly.

Katalon Recorder’s unique features:

Recording, playing, and debugging (pause/resume, set breakpoints) test cases.

Fastest execution speed.

Fully compatible with all Selenese commands: users can import Selenium IDE tests to Katalon Recorder.

Supporting HTML’s <input type=”file”> element (Chrome only).

Easy flow control with if/elseIf/else and while commands.

Supporting data driven testing — data can be imported from CSV file.

Advanced reporting with logs, screenshots, and integration with Katalon Analytics for advanced test execution analysis.

Exporting to Selenium WebDriver scripts to be used in many languages and frameworks including C# (MSTest and NUnit), Java (TestNG and JUnit), Ruby (RSpec), Python (unit test), Groovy (Katalon Studio), Robot Framework, and XML.

Compatible with the latest Firefox and Chrome versions.

Integrating with Katalon Studio for advanced automated testing including creating, organizing, managing, and executing tests.

Figure 1: The comparison between Katalon Recorder and Selenium IDE

“Katalon Recorder is a great tool for automation testing and a perfect substitute for Selenium IDE.”, said Vijay (Founder of SoftwareTestingHelp.com).

“Intuitive interface, easy to do what Selenium IDE for Firefox did and quickly to learn for starter. This add-on can be used to automate simple test scenario or generate the “raw” scripts that can be edited using advanced IDE for complex scenario or to be used with external data source.” (John S. — QA Lead)

Please visit Chrome and Firefox store to get the latest version of Katalon Recorder. If you want to ask any Katalon products (Katalon Studio, Katalon Recorder, Katalon TestOps (Previously called Katalon Analytics) related questions or help other members out, please join us on Katalon forum.
Make a Listing, Earn Coins
Tags: Bitcoin

Starting today, we’re giving new user bonus cryptocurrency just for signing up and creating a listing. Here’s how it works.

Step 1: Create an account with Facebook + LinkedIn. IMMEDIATELY EARN $5 in Crypto (50 WRK)

Step 2: Create a listing (like this). For each listing we approve, earn another $10 in Crypto (100 WRK)

Step 3: Refer somebody. When they create a listing, earn another $5 in Crypto. (50 WRK).

Take your WorkCoins and exchange them for Ethereum. From within the app.

Or, just save them until after our ICO , or use them to buy a service. Either way, you WIN.
Introducing Stories for Graphs
By: Graph Commons
Tags: Civictech, Big Data, Journalism, Open Data, Storytelling

We are excited to announce a new feature, Stories on Graph Commons.

A network map, or a graph, is a powerful medium to visualize and analyze relations at scale. It doesn’t present a single story, but multiple possible narratives. At first glance, a giant hair-ball of a graph can be, for the non-expert, confusing, intimidating, or just illegible. Not everyone has the facility to read a network map and use algorithmic interfaces to filter and navigate. So we created the Stories feature, to allow you to tell simple narratives from complex data maps.

As of today, you can start creating interactive slideshows to tell dynamic stories from your graphs. You can narrate interesting patterns, actors, paths and clusters in your data, through a visual interface that mimics the movements of a camera across your graph. Beginning with the familiar narrative flow of a story, you can reach more people, and introduce them to the tools that will allow them to engage with your graphs. It looks great on mobile browsers too!

Explore the stories below and try the interactive tutorial to begin making your own stories.

Who is opposing or supporting the EU climate change policies.

8-slide story by SIMPOL Project, Financial Systems Simulation & Policy Modelling at University of Zurich.

Sector-based curation that enhances creative production amongst our community. 9-slide story by ATÖLYE, Transdisciplinary Innovation Platform in Istanbul.

Erdogan’s brother-in-law ties the family to the Azeri SOCAR conglomerate. 11-slide story by L’Espresso Magazine, Italy’s prominent weekly and Italian partner of ICIJ.

This story tracks the major attacks committed by ISIS from among the 88 attacks by 9 different terror organizations since 2011. 5-slide story by 140journos, new media journalism from Turkey.
Data, Visualization and Society. Using t-SNE to map Data Visualization…
By: Dan Mccarey
Tags: Data Visualization, Data Science

I created three derivative styles from the original graph styling the data points from 0–5 for each category. As the inputs were the aggregate score for each category and the hour of sign up, the results are clusters of users with similar aggregate scores (across all three categories) who signed up at the same hour of the day.

One of the first interesting take aways, is the large cluster of very modest users who rated themselves as zero (or close to zero) across all three categories.

I find it interesting that a greater number of users rated themselves (4–5) on their skill with data than on visualization perhaps suggesting that a decent percentage of members feel fluent in data but less confident in data visualization.

A quick take away from the society graph might be the larger percentage of blue (0–1) scores compared to the other graphs reflecting that a greater percentage of users rate their interactions with or contributions to the data viz community more modestly than their skills.

Finally, Graphafi also allows you to create 3D plots of your high dimensional datasets. As a quick bonus, I made a 3D t-SNE plot using the same DVS dataset. You can get a quick sample of the result in the video below.
Breaking News: Ex-GetJar developer with 18+ years of experience signs with ORCA
Tags: Tech, Fintech, Open Banking, Finance, Developer

Our headhunting unit is representing the killer whale attitude and managed to snap a high-profile developer Sigitas Saulevičius.

Sigitas has a standing history of accomplishments while working in IT-related industries. He spent more than 10 years working for GetJar, the biggest open app store on the globe with almost 1,000,000 apps and 3 million daily downloads. Since then Sigitas has helped a number of companies working as a Team Lead, Systems Architect and Project Management Head.

Here’s what he had to say: “I like challenges. Throughout the years, I have been involved in a number of projects — all of them were special in their own way. They forced me to deepen my knowledge and step into the unknown. It’s what I like about my job and ORCA fits the description perfectly. I can’t wait to start and see how can I help accelerate it.”

Sigitas has been in contact with ORCA assisting the development of ORCA primary version — PYGMY. Today however is the day when the paperwork has been finalized and we can announce the news.

Using field expertise Sigitas has gathered as Team Lead and Lead Architect is already setting lots of wheels in motion. First signs of that is represented by the workload getting structured and concrete.

Automated regression test runs, analysis of security, load and performance of API gateways, modeling of script techniques and their reliability testing are only a handful of skills falling under the competence of ORCA’s newest team addition.

You should see the smile on the face of ORCA CTO Dmitrij. He can’t help himself because he knows that a significant burden will be relieved from his shoulders. ORCA is happy. Even despite the fact that it’s Monday!

We have more good news coming this week alone so keep searching for ORCA news and not miss anything. Just one more reminder before I check out: our whitelist is open — go to our website and go through the KYC protocol so you don’t face any problems during the token sale.

Twitter | Facebook | Instagram | Reddit | LinkedIn | Website | Github |
Purposeful time
By: Dan Mccarthy
Tags: Uncertainty, Purpose, Desire

What if each moment you lived was imbued with a purpose that had such clarity, such consistency and such intensity that it fed an inner sense of well-being and self-esteem?



I know that my personal frame of reference would be to doubt the validity of this meaning, as if the only acceptable posture toward life is to feel skepticism, irony and doubt, Coolness, at the core, instead of heat. This coolness can’t cement the same way the heat can.



In the hot life, the life imbued with meaning, there is still room for doubt, for the uncertainty that is a fundamental element of the human condition. You’ll leave with such purpose that you’ll wonder if you are being effective and consistent in achieving that purpose. That’s a different kind of life than the casual modern life. That’s a life that’s trying to live.
To Read Her Like A Book
By: Lex Nickels
Tags: Life Lessons, Books, Love, Intimately Intricate, Poetry

She wore her heart on the outside

like the cover of my favorite book

She gave me the key to unlock it

Asked that I, be careful.

I’ve opened it many times

some times, for a simple look.

Carelessly

I scribbled on the insides

recklessly, signed my name in this book.

Earmarked her pages

highlighted many lines

collected her secrets gaining insight as a thief

staking my claim like a crook.

She asked that I be kind, gentle and patient

the final chapters, I skimmed

everything she revealed to me

tucked away in-between bent pages

left in used condition and hidden within.

Except this time it was different

I missed my forever, this is my regret

my should have been.

Her secrets on the page were my salvation.

A man damned, unprepared

unready, but reading her book to find my way back

to feeling something

to loving again.
Rapturous Love
By: Randy Shingler
Tags: Humanity, Love, Diversity, Mindfulness, Poetry

Warmth of love within my heart

Rising rapture often overwhelms

Peaceful pleasure washes over me

Touching core of deep inner spirit

Powerful force always uplifting me.

Love for my creative partner

Stimulating me with new ideas

Viewing artwork of unique designs,

Love for my grown son and daughter

Raising young daughters of their own.

Love for humanity’s perpetual kinship

Diverse beings encircling planet earth

Regardless of what their race or creed

Recognizing common roots we share

And feeling same emotions as we are.

Love is the force binding us together

Across the world in disparate cultures

And to people who are close and dear,

Rapturous love can lift anyone’s spirits.
if Death Lost An Ace of Spades
By: Efe Nakpodia
Tags: Creative Writing, Careers, Death, Humor, Poetry

It takes one to know one,

but I took ten, so I keep an eye out,

every now and then.

You chose to climb up stairwells,

and clumsy career ladders.

I used the elevator instead,

because it wasn’t out of order.

Why play by the rules if one can

simply learn to work with them?

You say I’m a cheat. I smile,

and keep tongue in cheek:

if death lost a card with

shiny, whittled aces of spades,

how long would you take

to find the sickle, and your

pretty, little poker face?
正確的比特幣、虛擬貨幣投資心態
Tags: Investment, Bitcoin, Ethereum, Cryptocurrency, Tools

in Both Sides of the Table
Alan Partridge’s Rover 200 fascia control system
By: Dan Hill
Tags: Television, Interaction Design, Humor, Cars, UX

Alan Partridge’s Rover 200 fascia control system

Everyday Interaction Design Classics #5

This is perhaps a little different to other entries in the highly occasional Everyday Interaction Design Classics series. I’m Alan Partridge Series One DVD extras had a ‘quite superb’ additional play-let, entirely improvised between Steve Coogan (Alan Partridge) and Felicity Montagu (his personal assistant, Lynn). Within which, Alan, perhaps unwittingly though you never know, gives Lynn a short lesson in creating a hierarchy of alerts within interaction design. That’s not quite how he put it, but …

The scene is the Linton Travel Tavern car-park. Alan is bored. He’s called Lynn into the car for some “paid conversation”. He’s further exasperated as he doesn’t know why his Rover 200 makes an alarm noise when he turns the key in the ignition. For the last ten minutes, he’s been exploring the possible reasons for the alarm. Lynn’s suggestions serve only to force Alan to explain a few things about in-car control systems, both on the ideal way to articulate non-urgent alerts which don’t serve to distract from primary tasks and when to recognise that a non-essential feature is not worth building alerts for …
5 Basic Rules of Trading Newbie Needs to “Keep in Mind”
By: The Blockchain
Tags: Blockchain, Trading, Bitcoin, Cryptocurrency

If you are a newbie to the game, not enough battle experience, the following important trading rules note may be useful.

1. Limit losses

You know the Stop Loss command. If you’re new to trade, you probably hate this command, as it cuts off your command. Especially the case of price hit stop loss and then straight up in the direction of expectations, very uncomfortable.

But do not stop loss, because this is what holds you in the market. The market is a constant, unpredictable. In fact, no trader (even a high player) can accurately predict what will happen next on the chart. Because the market simplicity is random. The possibility of loss, account burning always waiting. Cut your losses early when possible!

2. Do not trade with money that you can’t lose

Trading is a source of income, not everything. If you do not have enough experience, you should not put all eggs in this trading basket. And of course, the more you do not load into your financial account you can not lose. For example, but monthly living expenses, basic costs, … Because unfortunately because of a mistake (that newbie is very easy to do) led to account gone, then you will lose, do not let that happens

3. Understand the strategy and master it before joining “the war”

Demo is one of the most important tools for traders. Especially when you are in the process of getting acquainted with the candlestick chart, do not rush to use real money to challenge the risk to the market. Please trade with demo, as much as possible. Also, do not think that some of the original fragrances are good, but I think the market is easy to eat. Let’s play with a demo long enough to get the real results before jumping into the war.

4. Patience is gold

Trading is looking for opportunities on the order. Opportunities are never available. We have to find. As the gold plowers plow the big beak just to get some gold husks. The market too, most of it passed before your eyes boring, waiting patiently, analysis is sure. When the opportunity goes, be “cool” down the hand decisively.

5.Discipline is diamond

In trading, discipline is the backbone. There is no other discipline you are gambling with the market. And even casino players are disciplined.

Discipline is very important, it keeps you going in the right direction that you originally planned. Because in the process of trading, emotions will attack in a rush and if you do not hold the discipline you will quickly fall and become a delicious bait to the market again.

Happy Trading !

— — — — — — — — — — — — — — — — — — —

WEBSITE

=> https://kriptoa.com/

TELEGRAM

=> https://t.me/KriptoA_com

FACEBOOK

=> https://www.facebook.com/KriptoA

INSTAGRAM

=> https://www.instagram.com/kriptoa_com

TWITTER

=> https://twitter.com/KriptoA_com

REDDIT

=> https://www.reddit.com/user/KriptoA_com

MEDIUM

=> https://medium.com/@KriptoA
UN and Dataminr Partner to Use AI for Humanitarian Response
By: Pulse Lab Jakarta
Tags: Un Global Pulse, Dataminr, Artificial Intelligence, Data Innovation, United Nations

(New York and Geneva, 28 May 2019) UN Global Pulse and Dataminr, the leading AI platform for first response, today announced a partnership at the AI for Good Global Summit in Geneva, Switzerland. The partnership will equip thousands of United Nations (UN) personnel with Dataminr’s First Alert product for the public sector.

The partnership advances the Secretary-General’s Strategy on New Technologies, an effort to boost the UN’s uptake of cutting-edge technology and accelerate learning, innovation and entrepreneurship for progress towards the Sustainable Development Goals (SDGs).

“UN agencies and personnel around the world need the earliest possible indications of an emerging crisis to respond effectively. Our partnership with Dataminr will help the UN better leverage the power of AI to strengthen our work and help keep UN teams safe,” said Robert Kirkpatrick, Director of UN Global Pulse.

Dataminr founder and CEO, Ted Bailey, said, “Dataminr shares a common vision with our UN partners for a future in which AI and real-time data serve a greater, public good. We are proud to support the UN Secretary-General’s Strategy on New Technologies by deploying Dataminr to accelerate humanitarian and crisis response efforts across the United Nations.”

Teams at the UN have begun using Dataminr to mobilize around unanticipated events, where the health and safety of vulnerable populations — or UN personnel — are on the line. One early adopter is the UN’s Office for the Coordination of Humanitarian Affairs (OCHA). The office’s use of Dataminr, in alignment with existing policies, is intended to help bring together humanitarian actors to coordinate the most effective response to crises anywhere in the world.

By detecting the earliest signals on risks within thousands of publicly available information (PAI) sources, Dataminr’s advanced AI platform enables rapid mobilization and more effective response. Dataminr often proves to be critical in the wake of cyclones, hurricanes, wildfires, and earthquakes that cause catastrophic damage, destroy crops, and cause disease outbreaks.

“The scope of Dataminr’s detection capability is truly global. Personally, I have already realized the benefits of using Dataminr when working in a number of challenging UN Mission areas around the world,” said Stefan Lemm of the Operations Support Division in the Office of Information and Communication Technology at UNHQ.

Download the Press Release.
How Git Really Works
By: Maroun Maroun
Tags: Software Development, Programming, Github, Git, Software Engineering

Git Is a Key-Value Datastore

At its core, Git is a content-addressable file system. Huh? OK, Git is simply a key-value database. You insert any kind of content into a Git repository, for which Git will give you back a unique identifier (a key) that you can use to retrieve that content.

Git uses the hash-object command to store values into the database:

“Computes the object ID value for an object with specified type with the contents of the named file (which can be outside of the work tree), and optionally writes the resulting object into the object database. Reports its object ID to its standard output. When <type> is not specified, it defaults to ‘blob.’”

A “blob” is nothing but a sequence of bytes. A Git blob contains the exact data as a file, but it’s stored in the Git key-value data store, while the “actual” file is stored on the file system.

Let’s create a blob:

$ echo hello | git hash-object --stdin -w

ce013625030ba8dba906f756967f9e9ca394464a

We used the -w flag to actually write the object into the object database, and not only display it (achieved by the --stdin flag).

The value “hello” is the “value” in the Git data store, and the hash returned from the hash-object function is — in this case — our key. We can now do the opposite operation to read the value by its key using the git-cat-file command:

$ git cat-file -p ce013625030ba8dba906f756967f9e9ca394464a

hello

We can check its type using the -t flag:

$ git cat-file -t ce013625030ba8dba906f756967f9e9ca394464a

blob

git hash-object stores the data in the .git/objects/ folder (aka the object database). Let’s verify:

$ tree .git/objects/

.git/objects/

├── ce

│ └── 013625030ba8dba906f756967f9e9ca394464a

├── info

└── pack

The hash suffix (under the “ce” directory) is the same as the one we got back from the hash-object function, but it has a different prefix. Why? That’s because the parent folder name contains the first two characters of our key. Why? Because some file systems have limitations on the number of possible sub-directories. So introducing this layer mitigates that problem.

Let’s save another object:

$ echo world | git hash-object --stdin -w

cc628ccd10742baea8241c5924df992b5c019f71

As expected, we now have two directories under .git/objects/ :

$ tree .git/objects/

.git/objects/

├── cc

│ └── 628ccd10742baea8241c5924df992b5c019f71

├── ce

│ └── 013625030ba8dba906f756967f9e9ca394464a

├── info

└── pack
Hurry up, Love!
By: J.A. Longs
Tags: Relationships, Emotions, Love, Patience, Waiting

A Poem

Photo by Anaya Katlego on Unsplash

Come one, come all, or don’t come at all.

Round up, circle ‘round, or move up and out.

Whatever you do, do it now or never.

I’ll be here, but I won’t be forever.

Hurry up, love!
Drift All You Like
By: Ana Luíza Azevedo
Tags: Traveling, Radiohead, Asteriskarticle, Poetry, Dominican Republic

Drift all you like

From ocean to ocean

Search the whole world

But drunken confessions

And hijacked affairs

Will just make you more alone Man of War — Radiohead

I packed my bags while listening to this song when I left home last year to come and live in a country I knew nothing about. For reasons I could not explain at the time I knew I had to get out. In reality I had a lot of reason. The world is terrible, the economy is collapsing and all that jazz. At that point I had good excuses to hop on a plane and get the fuck out.

The plan was having no plan and so far I have been sucessful. New country, new rules, new job, new people. And somehow the same problems. I can’t tell you that moving and crossing seas has solved my issues. I know things now. It only makes me sadder. The worst part is that I don’t see myself changing in the near future. There are still many more seas to cross.

So much to see, even if I’m alone.

sometimes I write poetry

sometimes I paint with crayons

sometimes I cook

nevertheless I envy

the neighbor couple who fight in creolle.

Santo Domingo, República Dominicana 2018 ´- Photo: Ana Azevedo
An introduction to coaching
By: Louise Howells
Tags: Coaching, Mentorship, Leadership, Self Improvement, Coach

Grow Model

The Grow model is often used in coaching and can help structure questions to help the individual work out how to solve their problem.

Goal — what do you want to achieve

Realistic — is it realistic?

Options — what are the potential options

Will — the will to see it through.

The GROW model was influenced by what’s known as the ‘Inner Game’ method, developed by Timothy Gallwey, to help tennis players improve their game. By just giving simple instructions on what the player needed to improve didn’t provide long lasting results, but, by asking them questions that led them to figure out what they needed to change, made for a longer term reward. For example instead of saying ‘You need to watch the ball more’ he asked them to shout out loud whenever the ball hit the ground and again when they had hit it. This way they had to actively ‘keep an eye on the ball’.

If you’re new to coaching it can take a lot of restraint to not to jump in and provide an answer upfront, so here are some useful coaching questions to get you started.

Goal Setting and Realistic

1. What outcome are you looking for?

2. What would you change?

3. What concerns do you have?

4. Can you actually change anything?

5. Are you relying on others for this change?

6. What’s the impact if you do nothing?

Options

1. What could you do?

2. Are there any downsides to that approach?

3. Are there any other options?

Willingness

1. How will you go forward?

2. What roadblocks do you expect?

3. What do you need to do first?

With these questions you’ll hopefully avoid providing a resolution and help them find their own answer.
We’re Dreamers of the Dream
By: Paul Mulliner
Tags: Spirituality, Meditation, Mindfulness, Poetry, Life

Time slips away,

sliding into yesterday,

moments becoming memories,

memories becoming dreams.

We’re dreamers,

of the dream of life,

experiencers of the endlessly

passing moment, and knowers

of that which sometimes emerges

inside us to be known.

Like an inner flower,

revealing itself,

transiently

in the dawn

of some distant unknown place,

we can briefly know, and become,

the one conscious space where

all knowing breathes.

When we find the inexpressible

silence inside all of us.

Though we’re thrown into

the experience

of being human,

and seemingly adrift,

on our tiny and beautiful planet.

We can find the inner space

where all life breathes

with one breath, in the ocean

of our being.

We can reconnect

with the inexpressible inside us,

and rediscover we vibrate,

resonate and share all with

the conscious Universe.

And we can find the silence

where all that is known

and experienced

becomes memories

the inexpressible has of itself.
Choosing your own destiny
By: Finn Jackson
Tags: Conscious Leadership, Change, Leadership Development, Leadership, Change Management

The word ‘destiny’ means different things to different people, so it is important to be clear about the meaning we use as part of Inner Leadership.

The English word destiny comes from the French word destinée. It shares the same original root as destination: it looks to the future, to the place where we are heading.

Going back further, the Latin word destinare originally meant “to make firm or establish” — like travelling with a firm, established ‘destination’ — so it is no surprise that some people still use the word destiny in this way, to mean something that is fixed, inevitable, pre-ordained, and out of our control.

But, over time, the meaning of that word destinare changed. It shifted to become “the action of intending someone or something for a purpose.” My destination is the airport because I am intending to catch a plane for the purpose of travelling to another city for a productive meeting or relaxing holiday.

This is the meaning we use in Inner Leadership.

When we choose our destiny as an outcome we are intending, for a purpose wehave chosen, that doesn’t guarantee that we will get there. But it does give us more energy to more forward and more flexibility to respond to surprises. And in a time of change, that makes us much more likely to arrive.

Have you chosen a destiny for yourself: an outcome you want to create, and a purpose for doing so? Would you like to have the extra energy, focus, and flexibility that come from defining them?
How to Design for the Modern Web
By: Casper Beyer
Tags: Programming, Web Design, Technology, Web Development, Satire

Every now and again, I see a page that hasn’t jumped on the modern web bandwagon. We can’t have that, not on today’s internet, so let’s run through the rules of designing for the modern web.

These practices are immutable, and you must follow them because I’m a developer advocate. They’re also used by quite a few of today’s top websites as ranked by Alexa. (But, most importantly, I’m a developer advocate.)

Let Users Know About Your Mobile Application

When a user first visits your website, the very first thing you must do is show them a giant modal dialog telling them that they should install your mobile application instead.

A neat little trick? Make the link to close the modal super small and put it very close to the link that lets the user install the application. This will make users much happier. Users love being able to easily install the application without accidentally closing the dialog.

Let Users Know About Cookies

Should the user insist on using the web version, we must let them know that we are using cookies to track them.

Let Users Know They Can Sign Up

Sometimes a link is not enough. A modal can come in handy by letting users know they can actually sign up for your website.

Research has shown that modals that cannot be closed have the highest conversion rates.

Block Users From Europe

Nowadays, Europeans have pesky laws that muddy the waters on what we’re allowed to track. The best practice here is to just do nothing, continue tracking everything about your users, and block Europeans from accessing your site.

Denmark is a failed socialist cupcake state anyway — its users are not worth the effort.

Let Users Know About Your Mobile Application

It’s best to show the user this dialog once again when they click a link. They probably clicked away by accident the first time.

Again, to help our users out, let’s make the cancel link very small to minimize the chances of them tapping it accidentally.

Allow Users to Opt Out

It’s very important that we aren’t intrusive, so let’s allow users to opt out of the mobile application modals. The best practice here is to put the opt-out setting in a place where the user will easily spot it — like inside one of the “account preferences” pages.

Advertise Your Application

Even if a user should opt out of prompts for the mobile application, we can still get them in the long run. Advertising the mobile application somewhere on the website works great.

Always Bet on JavaScript

These modals obviously require JavaScript. Of course, it’s important to have endless scrolling, but please make sure to future-proof yourself by using the latest framework.

Today you may think, “Oh it’s only a couple of modals.” But in the future? By then, it may be many many more modals, and oh boy. When that happens, you’ll regret not making an isomorphic application with react and code splitting!
A Powerful Guide to Heal from Hard Times (Like 2020).
By: Meg Haynes
Tags: Life Lessons, Self, Purpose, Self Improvement, Life

Coffee in one hand and a book in the other, snuggled with a cozy blanket and feet tucked underneath me on the couch, I felt nothing but peace. I gazed through the glass door, across the dunes, toward the ocean and thought back to where I was a year ago when — in the same spot — I could barely imagine feeling contentment.

Then, my shoulders hunched toward my ears in a perpetual tenseness. My biceps and triceps had an unrelenting, dull pain. My mind, ceaselessly dreading what was to come, struggled to find momentary joy.

With my shoulders now relaxed and my mind clear, I closed my book and pulled out my journal. I wrote down six questions, leaving space to journal underneath each, and used these prompts to process what happened over the year.

Who have you been able to lean on this year?

What are the three things you are most grateful for?

What choice(s) did you make this year that have impacted your current situation?

Who do you look up to? What have you learned from them?

What did you learn from this season?

Where do you want to go from here?

Fortunately, by asking myself these questions, I received space to discover how I returned from that shell of a person, who brought me there, and what I gained. Not only did they guide me away from resentment toward appreciation, but they also made me realize that good still existed despite the chaos.

With some research, I learned why these six questions, specifically, allowed me to heal from a traumatic year and move on with my life. With the year nearing a close with a lot of uncertainty looming, I trust that these questions will support many as they try to process and heal from a difficult season (or the chaos known as 2020).
What is ROC?
By: Vimarsh Karbhari
Tags: Machine Learning, Interview, Artificial Intelligence, Data Science, Data

The ROC-AUC score is used to find out the accuracy of the classifier.

ROC stands for Receiver Operating Characteristic. It’s is a type of curve. We draw the ROC curve to visualize the performance of the binary classifier. The ROC curve is a 2-D curve. It’s x axis represents the False Positive Rate (FPR) and its y axis represents the True Positive Rate (TPR). TPR is also known as sensitivity, and FPR is also known as specificity (SPC). You can refer to the following equations for FPR and TPR.

TPR = True Positive / Number of positive samples = TP / P FPR = False Positive / Number of negative samples = FP / N = 1 — SPC

For any binary classifier, if the predicted probability is ≥ 0.5, then it will get the class label X, and if the predicted probability is < 0.5, then it will get the class label Y. This happens by default in most binary classifiers. This cut-off value of the predicted probability is called the threshold value for predictions. For all possible threshold values, FPR and TPR have been calculated. This FPR and TPR is an x,y value pair for us. So, for all possible threshold values, we get the x,y value pairs, and when we put the points on an ROC graph, it will generate the ROC curve. If your classifier perfectly separates the two classes, then the ROC curve will hug the upper-right corner of the graph. If the classifier performance is based on some randomness, then the ROC curve will align more to the diagonal of the ROC curve. Refer to the following figure:

ROC curve for different classification scores

In the preceding figure, the leftmost ROC curve is for the perfect classifier. The graph in the center shows the classifier with better accuracy in real-world problems. The classifier that is very random in its guess is shown in the rightmost graph. When we draw an ROC curve, how can we quantify it? In order to answer that question, we will introduce AUC. Our next article will talk about the AUC.

Subscribe to our Acing AI newsletter, I promise not to spam and its FREE!

Thanks for reading! 😊 If you enjoyed it, test how many times can you hit 👏 in 5 seconds. It’s great cardio for your fingers AND will help other people see the story.

Reference: ML Solutions
React.js快速入門 — (5)Prop&State&Hook
By: Mackerel Chang
Tags: JavaScript, 中文, React, React Hook, Reactjs

接下來使用資料的類型去詮釋生命週期的觸發：

Prop

在前幾個章節我們都能看到 prop 的身影，因為它協助我們將資料傳入Component。最重要的是它是Read-Only(唯讀)不隨意被更改的，畢竟更改它沒有意義，也沒法回傳給上層。

傳遞方式

在JSX使用Attribute(屬性)方式傳遞下去，注意屬性建議使用camelCase命名。

const name = "Hello";

const element = <Hello myName={name} />

function Hello(props){

return <h1>Hello, my name is {props.myName}</h1>;

}

(ES6) Class Component綁定

在Class Component，必須先在Class的 constructor() 繼承 props 的屬性。日後在 render() 就可以直接用 this.props 呼叫傳進來的參數。

class Hello extends React.Component{

constructor(props){

super(props);

}

render(){

return <h1>Hello, my name is {this.props.myName}</h1>;

}

}

State

state 使用在(ES6) Class Component，必須在Class的 constructor() 先宣告好資料結構。它也跟 prop 一樣是Read-Only的，我們使用 {this.state.<arg>} 時只能做讀取。寫入的時候必須用React.js替它設計的 setState() 完成。

State有以下事情需要注意：

1. State 又稱 Local state，只有呼叫它的物件或是Component擁有才能使用。除非是有上層下指令才能使上層一起擁有。

2. 只要State一被修改，就一定會觸發 render() 更新頁面。

宣告

在 constructor() 用Javascript Dictionary型別宣告好資料結構

class Hello extends React.Component{

constructor(){

this.state = {name: ""};

}

}

設定資料

使用 setState() 完成檔案設定，括號裏頭使用Javascript Dictionary型式，不用將全部資料結構設定一遍。因為State是採用合併(merge)形式，它會找到相對應的欄位，並且做部分更新。

假設我們宣告以下結構：

class Hello extends React.Component{

constructor(){

this.state = {name: "", audience: 0};

}

}

我們只要下以下指令，它就會只更新 name 的部分，並不會影響到 audience ：

this.setState({name: "Hello"});

React 可以將多個 setState() 呼叫批次處理為單一的更新，以提高效能。

Function 將接收先前的 state 作為第一個參數，並且將更新的 props 作為第二個參數

它也可以用Arrow Function與 prop 做結合，成為一種非同步更新：

this.setState((state, props) => ({

counter: state.counter + props.increment

}));

結合生命週期

上面我們講了資料設定，但沒有提及要在哪邊設定！原因是 state 並不會在 render() 做設定 ，它要配合一些HTML表單同步或者是生命週期才會使用。在上方提及的生命週期圖片的 can use this.setState() ，或是HTML的監聽函式才能使用。

我們可以將那些提供的函式呼叫做Override(覆寫)：

class Hello extends React.Component{

// ...

componentDidMount(){

this.setState(...);

}

// ...

}

更多生命週期的使用請參閱官方文本，HTML表單則是於此。

Hook

Hook 是 function，他讓你可以從 function component「hook into」React state 與生命週期功能。

在16.8版後誕生的功能，是在Function Component也能使用(ES6) Class Component的State。React.js在文本也說道，Javascript最大魔王之一無非就是運用 this 的概念。在一般函式、Prototype、ES6 Class、匿名函式、箭頭函式每個區域的 this 用法都不太一樣，容易造成寫手迷失使用方向。加上(ES6) Class Component有點像是過度包裝，當有好多個Component會覺得很複雜。

因此官方建議少用Class Component多使用Hook於Function Component。不過 Class Component還是要有些基礎概念，畢竟現在很多寫好的工具都還是用其，必須要看得懂才能妥善運用。

使用

Hook 只有兩種函式可以使用： useState 跟 useEffect 。

useState ：如同 state 般的方法，傳進去的就是想儲存的資料。它會回傳兩個變數，一個是目前state，如下方的 count ；另一則是更新state的函式，如下方的 setCount 。

function Counter({initialCount}) {

const [count, setCount] = useState(initialCount);

return (

<div>

<h1>Count: {count}</h1>

<button onClick={() => setCount(prevCount => prevCount + 1)}>+</button>

</div>

);

}
Wash
By: Joy Scrogum
Tags: Cats, Poetry, Biology, Haiku

I’ve been lucky enough to have many feline companions through the years, most of whom have been much more affectionate and cuddly than stereotypes would have you believe. I’ve always cherished the cleanings I’ve received from cats. Even though a cat’s tongue can be rough as sandpaper, thanks to the filiform papillae on their tongues which aid in grooming, I think there’s something soothing about a cat licking you like you’re their bedraggled kitten. Like dogs, I’ve found that cats know when you’re in need of comfort and will lick your face to accomplish this.

They also seem to groom their humans as a means of showing affection, similar to a friendly kiss from a human, or to signify the human’s status as a member of their family or bonded group. Like rubbing themselves against you, it’s a cat’s way of declaring their connection. Those scratchy little tongues seem capable of removing all one’s cares — and possibly the top layer of skin, if the cat is too enthusiastic.

As I wrote this haiku, I couldn’t help but remember my cat Gretel, who used to love to wash my face as we settled in bed at night — sometimes so vigorously I had to hide beneath the blankets to get some peace and keep her from rubbing my skin raw. She’d purr the whole time, and when she felt I was properly cleaned of the day’s debris (physical or emotional), she’d snuggle in close with her face tucked against me and drift off to sleep.

Read more about cats grooming humans:

And here are some interesting articles on how cat tongues work:

Thanks for reading, and enjoy your feline friends.
How to Build a simple REST API: Introduction to NodeJS and Express.
By: Bilguun Batbold
Tags: API, Nodejs, Coding, Api Development, Express

The image is taken from Wikipedia.

Have you ever wanted to learn more about the Back-End development process? If you have had experience building Front-End apps, here is a good place to start. You will find how you can use the same technology stack to build servers. If you already have experience with developing APIs using other frameworks, you will learn here how much faster and easier it is to develop and deploy using NodeJS and Express.

Essentially, Node is a Javascript runtime environment built on the same engine as Chrome engine, the fastest JS engine yet. The non-blocking or asynchronous nature of Node makes it ideal for building I/O intensive applications.

Getting Started

To get started, head over to https://nodejs.org/en/ to download the latest stable version of NodeJS. Once you have installed the application on your machine, check your installed versions:

node -v npm -v

Initialize The App

There are multiple ways of initializing an app, but in this tutorial, I will be using the simplest way.

Let’s first create a new folder myapp and create a new file index.js:

$ mkdir myapp

$ cd myapp

$ touch index.js

To initialise, run the following command:

$ npm init --yes

The yes flag is used to enter default values for all the questions asked. The command output will be something like this:

{ "name": "myapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }

As you can see from the output, the main point of entry is index.js . These are just names, and you should not be bothered too much with it.

Install dependencies

Let’s install express and some useful modules that I usually work with.

npm i express morgan debug multer serve-index

There are other useful modules which will not be used in this tutorial, but I will list them down below for your reference. Some installed modules are not used in this tutorial but the GitHub gist provided references them. Include them to avoid compilation errors.

Let’s open up the index.js file we created and add the following code:

const express = require('express');

const app = express();

const port = process.env.PORT || 3000; app.listen(port, () => {

console.log('Server is up and running on port ', port);

})

Running And Configuring The App

Congrats! You’ve created your first express server! It will listen to a port from an environment variable (if available) or 3000. Let’s run the app like so:
I’m transitioning but I’m still the same person I have always been — or am I?
By: Rachel Brindell
Tags: Queer, Transgender, Gender Identity, LGBTQ

When I first began transitioning I tried to make people understand that I was still the same person I always was. Yes, I was transitioning my gender but surely the core of my being was still same as before.

The tag line, I’m still the same person I have always been had become my mantra when I was going through the frightening process of coming out. I assured my family, friends and colleagues I still liked the same music; still had the same sense of humor; still had the same intelligence and wit; still loved sports; still loved the same foods and so forth.

I was hoping this would put my family and friends at ease, and me along with them because the sad truth was I was feeling lost. I clung to that mantra for dear life like the harness on a roller coaster.
Streamlit — use data apps to better test your model
By: Dipam Vasani
Tags: Deep Learning, Machine Learning, Artificial Intelligence, Python, Data Science

Introduction

We use all kinds of techniques from creating a very reliable validation set to using k-fold cross-validation or coming up with all sorts of fancy metrics to determine how good our model performs. However, nothing beats looking at the raw output. When you look at sample output, you figure out things that none of the other methods can tell you.

For example, if you are performing object detection on crops, you might see that when the crop is aligned in a certain way because of the wind, our bounding boxes don’t encapsulate the crop properly.

However, looking at sample outputs is a tedious task. Say we want to test various NMS values, and we also want to test it on a bunch of images. We can always write a function for this, but running it, again and again, is boring.

Wouldn’t it be nice to have an app where we can upload an image and use a slider to adjust the NMS value? Welcome, Streamlit.
That Word
By: Samantha Kemp-Jackson
Tags: Racism, Race, Race Relations, Society, Life

Don’t say it. Just don’t.

Dear White People:

You’re not allowed to say it.

You know what I’m talking about.

“That” word.

The one that makes us recoil in horror.

The one that triggers us to every painful instance going back to when we learned of “that” word, often very early in childhood.

The word that you may casually throw around, amongst your friends, over a beer or cocktail.

“It’s descriptive,” you explain, when confronted.

“Black people say it all the time. Why can’t I?”

“I didn’t realize that it was wrong to say it.”

Or, in the more recent form, you’ve offered apologies, citing your ignorance to what that word means, and how it makes us — Black people — feel.

But we’re onto you.

We know that you’re well aware that “that word” is a weapon, one used to remind us that in spite of all of our gains, we’re still relegated to a position that is beneath you, both figuratively and literally (#RIPGeorgeFloyd).

We get it.

You want to maintain your position of power and control.

You want to continue the White Privilege that you’ve enjoyed since you were a child.

Damn!

Why do these Black Lives Matter/Social Justice Warriors have to ruin things all the time?

We’ve told you time and time again that you are not allowed to use that word — ever.

And yet you use it with impunity. Apparently a tearful, faux mea culpa is all you need to offer to extricate yourself from the latest instance of your supposedly accidental utterances.

“My bad. Sorry!”

That’s basically the gist of your response when called out for your use of the dreaded word.

You feign ignorance, but we’re not buying it.

And you feign ignorance, but we’re not buying it.

We know that you know.

We know that you’re well aware of the power that this word yields.

We know that you use it like kryptonite to Superman, pulling it out when needed, perhaps when you’re feeling particularly fragile or insecure.

You see, there’s always someone who you can push further down to build yourself up.

It’s easy. Just say it.

Watch the object of your annoyance wilt into a painful shell of themselves. Or perhaps they’ll stand tall, dying inside from the pain.

No worries, though. You will have achieved your goal: subordination of one who had the audacity to feel, perhaps, that they were equal to you.

Good thing you put them in their place.

But I’m here to tell you — again — that you have no right to use this word.

Ever.

And yes, I get that it provides you this momentary feeling of power over one who has been subjugated well beyond their chronological years. The recipient of your verbal assault have ancestors who bore the physical and psychological brunt of the ugliness that created that word in the first place.

But we’re not talking about history. We’re talking about the here and now.

And unfortunately, in this “here and now,” that word still exists.

So if it’s not abundantly clear, I’ll try my best to make it as obvious and understandable as possible.

You are not allowed to use that word.

You shouldn’t EVER use that word.

Don’t EVER utter that word…again.