avatarILLUMINATION-Curators

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

4873

Abstract

f Ads’.</h2><p id="e5e8">A developer at Jyllands-Posten pointed me to a setting in <i>the</i> performance measuring tool, <a href="http://www.webpagetest.org/">WebPageTest</a>.</p><p id="b8c3"><i>(WebPageTest is <b>what you use</b>, when you do performance tests. <b>SpeedCurve is actually based on WebPageTest</b> — and the most important things in SpeedCurve are the automated tests and a much better design/UI, at least some of the parts — I’ll get back to that.)</i></p><p id="ac27">What you have to do, before you do a WebPageTest test, is to ask WebPageTest to <b>remove the letters ‘PTST’ from the user agent string</b> (which every browser uses to identify itself):</p><figure id="f815"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*XitVzBWd_DGzCIjccWOjHw.jpeg"><figcaption></figcaption></figure><p id="e364"><i>(I’ve written <a href="http://ebudvikling.dk/blog/2016/02/15/et-flueben-i-webpagetest-kan-betyde-meget-for-din-performance-maaling/">a blog post in Danish</a> about this nifty little feature.)</i></p><p id="31bb">‘PTST’ is the culprit in all of this. When our ad technology provider AdTech (<a href="http://oneadserver.aol.com/">now a part of AOL</a>) sees a browser with these four magic letters in the user agent, it withholds the ads from rendering. The reason: <b>To avoid wasting ad displays on tests</b>. Which makes sense, when you think about it.</p><p id="a021">Run a test on WebPageTest with this checkbox checked and you get <i>everything</i>. And that’s what we want. I’ve seen tests where the<b> ‘fully loaded’</b> time (the browser is saying “I’m totally done with loading this site now”) <b>multiplied by 5</b>; that’s a 400% increase! In the same test the <b>total number of requests was multiplied by 3</b> (200% increase).</p><p id="1f8d">Oh, and our <b>SpeedIndex</b> value (an expression of how fast the first screen view/viewport loads) <b>increased by 30%</b> in a test.</p><p id="24ab">But while WebPageTest can give us the correct data, <b>it can’t automate it</b>. We could do something via <a href="https://sites.google.com/a/webpagetest.org/docs/advanced-features/webpagetest-restful-apis">the WebPageTest API</a>, but this is something we want to avoid, so as to not have too many products and service to monitor and maintain.</p><p id="8a91">We then went back into SpeedCurve, but there was no feature to allow this. But… in the ‘Enterprise’ edition of SpeedCurve you are allowed to use <a href="https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/scripting">the WebPageTest scripting language</a>. One of the things you can do here is <b>set the user agent, which is exactly what we wanted to do</b>.</p><p id="eefd">Documents were written, meetings were held, decisions were made. And we (across JP/Politikens Hus, that is Ekstra Bladet, Politiken and Jyllands-Posten) <b>signed up for SpeedCurve Enterprise</b>. O, how we thought we had it made.</p><p id="a842">We now saw SpeedCurve rendering the <i>entire frontpage</i>. Just like we wanted. And we <b>started lacking in the comparisons </b>in SpeedCurve, just as we had expected. Especially compared to the Danish Broadcasting Corporation (which has no ads, since they are funded through Public Service).</p><p id="2930">And the good times kept on coming. SpeedCurve announced that they would now support the <b>same browsers as you can choose between in the developer tools in Google’s Chrome browser</b>. A developer at Politiken tested this and yes, it meant we no longer had to script our user agent. This was a huge plus.</p><p id="3606">Just look at what happened once SpeedCurve updated the browsers and <b>started including ads</b>:</p><figure id="3451"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*qDl1ZCRvq4Df8XJ_-4E_1w.png"><figcaption></figcaption></figure><figure id="f16c"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*S0yQfx9Xvxm3BpTAXBSUTA.png"><figcaption></figcaption></figure><figure id="ca74"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*coOQm61VDAbkCz7rD7TFKA.png"><figcaption></figcaption></figure><figure id="8af5"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*bjoBX9-KatudVZE_IKPv_w.png"><figcaption></figcaption></figure><p id="bbdb">As you can see, ads have a…certain influence on our front page.</p><p id="767b">These two screenshots from SpeedCurve shows how big a percentage third party stuff (here; ads) take up of the front page:</p><figure id="db75"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*AoHX6PgiVGzvOWyyWKtOPg.png"><figcaption></figcaption></figure><figure id="2d69"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*rAHw9tS-CTQNzbV_B-zfIg.png"><figcaption></figcaption></figure><p id="4480">Notice those percentage numbers…</p><p id="51e5">When something takes up almost 80 p

Options

ercent of a websites requests and sites shouldn’t it also receive about 80 percent of the attention?</p><h2 id="4c1a">PSTS back in, ads back out</h2><p id="955b">Alas, it wasn’t to last. <b>SpeedCurve changed the browsers and reintroduced ‘PTST’ into the user agent string.</b> Therefore; no ads. We noticed this and went back to scripting the user agent. But that didn’t work either. Though it had earlier.</p><p id="6f31">I got in touch with the SpeedCurve folks. They told me they had fixed a ‘bug’ and that <b>a test browser should <i>always </i>label itself as such</b>, as Mark from SpeedCurve told me in an email:</p><p id="a423" type="7">WPT should always be identifying itself, even if the UA string has been set via scripting.</p><p id="276d">Instead he created <a href="https://github.com/WPO-Foundation/webpagetest/issues/606">an issue</a> with WebPageTest to allow the user to set the user agent (without ‘PTST’) in the scripting language. <b>Nothing has happened since April 25th.</b> Steve Souders (who is the closest you’ll come to a ‘Mr. Performance’) who also works at SpeedCurve has created <a href="https://github.com/SpeedCurve-Metrics/SpeedCurve/issues/62">an issue</a> with SpeedCurve itself to allow us to remove PTST via a checkbox, like in WebPageTest. <b>This issue was created on March 1st</b>.</p><p id="d119">We still had one shot left though: <b>Whitelist a browser with a ‘PTST’ user agent with our ad technology provider</b> to to allow the SpeedCurve test browsers to see the entire page rendered. Unfortunately, this is not possible since it is a “global setting across all client networks”. That means, it would have to be changed across all of the sites that use their technology. According to <a href="http://oneadserver.aol.com/">their own website</a> they have 74 countries with active clients.</p><p id="484c">I then asked if we could allow the browser through if we scripted the user agent to include the word “SpeedCurve”. In effect, <b>their block functionality would allow a browser through if <i>both </i>the words ‘PTST’ and ‘SpeedCurve’ are in the user agent string. But no dice:</b></p><p id="3ef4" type="7">As long as PTST is in the UA we will block it.</p><h2 id="c77f">Alternatives?</h2><p id="bb21">This is, obviously, a precarious situation for us to be in. <b>We can’t measure the performance of our entire site automatically</b>.</p><p id="0fdf">The logic step is to look at alternatives. So far I’ve only tried one: <a href="https://calibreapp.com/">Calibre</a> (which was suggested to me by the same colleague who suggested SpeedCurve). I even wrote to the guy behind Calibre up front to be sure that it would include ads. But the same result: A fast, lean website. Which just isn’t the truth ;-)</p><p id="5988">Until SpeedCurve (or WebPageTest) comes up with a change we <i>might</i> look at the initial no-no: <b>Running automated WebPageTest tests through their API</b>. As Jyllands-Posten’s developer suggested, <b>we might be able to get it up and running pretty fast <a href="http://calendar.perfplanet.com/2014/webpagetest-private-instances-in-five-minutes/">using Amazon</a></b>.</p><p id="9432">So… here we are. Thinking about what to do. Since we can’t automatically measure our entire page render, we can’t <i>really</i> do any performance budgets. We can’t measure any tweaks or changes, either. <b>We could do it via manually tests but that is the last way out.</b></p><p id="77b0"><i>(Also note: Performance budgets are really hard to do, once you’ve got ads in the mix. The load and performance of them vary a lot; week to week, day to day, hour to hour, even banner to banner. Also, the biggest influence on your performance is outside of your control. So ask yourself if a performance budget is the way to go.)</i></p><p id="fa04">If you made it all the way through this article and have either a trick (or a fully fledged automated performance test tool which include ads…) up your sleeve, <b>please leave a comment.</b></p><p id="3b36">Banner ads (and for us; the way they are found, delivered and rendered) are a huge performance culprit but we can’t automate the measurements of that fact. <b>We are stuck with manual tests in WebPageTest — or browser developer tools like those in Google Chrome.</b></p><p id="be1a">(I you found this post by Googling your own frustrations, know this: <b>You are not alone</b>.)</p><h2 id="4029">Update on June 14th, 2016:</h2><p id="d99c">Apparently this <b>isn’t a problem will all ad tech providers</b>:</p> <figure id="e652"> <div> <div> <img class="ratio" src="http://placehold.it/16x9"> <iframe class="" src="" allowfullscreen="" frameborder="0" height="undefined" width="undefined"> </div> </div> </figure></iframe></div></div></figure></article></body>

ILLUMINATION-Curated

Outstanding Stories — Volume 46

Selected stories from top writers of ILLUMINATION-Curated

Photo by Zircarmel Dorcely on Unsplash

Dear Readers,

Happy Tuesday!

We are delighted to present our latest stories from top writers for your enjoyment today. ILLUMINATION-Curated publishes remarkable stories, covering a wide range of topics from experienced writers on Medium.

We distributed 45 volumes of outstanding stories. This single-story allows you to access all published stories of ILLUMINATION-Curated from a single file.

We distribute this story using various tools.

You can find the copies of stories syndicated to Flipboard Magazine via our new distribution service.

We blog them for our external readers.

All stories are also automatically synchronized to our new LinkedIn page. You can read and share your favorite stories easily.

All readers and writers are invited to enjoy our LinkedIn Page.

We also started distributing our volumes via our official website. Here is the latest distribution list. All volumes will be added to speed up indexing of stories by search engines and discovery of them by a broader audience.

To supplement your reading with more option, we add the latest distribution list from ILLUMINATION for your enjoyment:

Writers are invited to join our Slack group to collaborate with other writers. There are 670+ members. You can request access from this link. Learn about our Slack group compiled by Tree Langdon, CPA, CGA. We also started a mentoring program for writers on our Slack channel.

Please follow ILLUMINATION-Curated to stay connected and informed.

Enjoy the following remarkable stories.

Recent submissions to ILLUMINATION-Curated

Thomas Oppong

Victoria Ichizli-Bartels, Ph.D.

Dr Mehmet Yildiz

Vanessa Robinson

J.D. Harms

Erin King

John Teehan

Steve Alexander🏳️‍🌈🇺🇸

Kristina Segarra

Dr. Dion

Brandon B. Keith

Harry Seitz

Mark Alden

Brian Dickens Barrabee

Erin King

KianaT

Thewriteyard

Liv Mello

MaryJo Wagner, PhD

Jean Carfantan

Drama Llama

Jim Latham

Rajaneeshwar

Isaiah McCall

Andrea D'Angelo

Jeanette C. Espinoza

Ankit Das

Liam Ireland

Dr. Deborah M. Vereen

Sarah Shoshana Rosen

Dan Cadmus

Drama Llama

Dr Michael Heng

Helen Cassidy Page

Viraj Acharya

Arpit Ravichandran

James G Brennan

Boateng Sekyere

Dr. Manishi Pallavi

John M Dabbs

Terry Mansfield

Dr. Preeti Singh

Tim Ebl

Eshan Samaranayake

James G Brennan

Francine Fallara

Randy Wolken

John Teehan

Brian Dickens Barrabee

Jay Krasnow

Eunice Gikonyo, Msc Psychology

Jason Ward

Stuart Englander

Thewriteyard

Susan Randolph

Daryl Mowat

Harry Seitz

Christine Macdonald

CR Mandler MAT

Terry Mansfield

Salvatore Cagliari

Ryan Porter

Tom Handy

Eira Braun-Labossiere 🌻

Charles Roast

Dr. Deborah M. Vereen

Kavish Kamat (KK)

Dr. Manishi Pallavi

Dr John Rose

James G Brennan

Jameel Randeree

Alex Crisafulli

Christine Macdonald

Debbie’s Reflection

Brian Dickens Barrabee

Harry Seitz

Laura Izquierdo

Tee, Conscious Creative

Liv Mello

Harry Seitz

Geetika Sethi

J.D. Harms

Tim Ebl

Julia E Hubbel

Terry L. Cooper

Shabaira Junaid

Gayle Kurtzer-Meyers

Rebecca Stevens A.

Bebe Nicholson

Julia E Hubbel

Allison Gaines

Dr. Deborah M. Vereen

Paul Myers MBA

CR Mandler MAT

Randy Wolken

Tim Ebl

J.D. Harms

Brian Dickens Barrabee

Bhavna Narula

Dr Michael Heng

Stuart Englander

Jill Reid

Maria Marmo

Shannon Hilson

Geetika Sethi

Sarah Kelly

Audrey Malone

Kris Franklin

Dr. Deborah M. Vereen

Tim Ebl

Mukundarajan V N

Darcy Thiel

Thewriteyard

Marjorie J McDonald

Mayank Pamnani

Terry Mansfield

Sabana Grande

J.D. Harms

Dr. Preeti Singh

Myriam Ben Salem

Khannas Kiran

Jean Carfantan

Ankita Sontakke

Dr. Preeti Singh

Daisygwoods (Cocoa Griot)

Shabaira Junaid

Henery X

Jaye Frances

Crystal Jackson

Maria Cross — a viral story received over 140K views

Sebastian Purcell, PhD — Trending fast

Piper Steele

Rebecca Stevens A.

Dr Mehmet Yildiz

Lindsay Brown

Ellen Clardy, PhD

Dr. Dion

Brian Dickens Barrabee

Khannas Kiran

Amy Hartsough

Leo Guinan

GFC: Grown Folk Conversations

Fátima Martínez

Julie Nyhus MSN, FNP-BC

Britni Pepper

Liam Ireland

Maria Marmo

Dr Michael Heng

Dr. Deborah M. Vereen

Michael Burg, MD

Neha Sandhir S

Lynda Coker

Tom Handy

Stuart Englander

Claire Splan

Andrew Jazprose Hill

Eira Braun-Labossiere 🌻

Harry Seitz

Elan Cassandra

Sidd Chung

Tom Hanratty

Khannas Kiran

Jeff Herring

Pene Hodge

CR Mandler MAT

Primal Dhillon

René Phongam, DPT

Francine Fallara

Primal Dhillon

Neha Ravindra

Daryl Mowat

Øivind H. Solheim

Tracy Stengel

Cinto

Nicole Chardenet

Tim Ebl

Roger A. Reid, Ph.D.

Victoria Ichizli-Bartels, Ph.D.

Eunice Gikonyo, Msc Psychology

Remington Write

Dr Mehmet Yildiz

Riku Arikiri

Amanda Spiller

Brian Dickens Barrabee

Aaron Meacham

Michele Thomas

Ntathu Allen

Bill Abbate

The Maverick Files

Dr. Preeti Singh

Jan M Flynn

Carolyn Broadfield

Marjorie J McDonald

Ria Tagulinao

Leo Guinan

Khannas Kiran

H.Daneel Olivaw

Haucem Sadki

Vanessa A.

Julia E Hubbel

Walter Rhein

Amanda Gabbard

Teri Daniels

Dan Chigwada

Deborah Barchi

Kris Franklin

Zachary Minott

Suzan Fadel

Anne Bonfert

Floyd Mori

Melissa Bee

Brian Dickens Barrabee

Terry Mansfield

Mohammad Sistan

Carolyn Hastings

Luke Beling

Jim West

Abena D

Sabana Grande

James G Brennan

Randy Wolken

Anaïs Schlienger

Liam Ireland

Khannas Kiran

Jean Carfantan

Nihan Kucukural

Ankit Das

Enzo M. Battista-Dowds PhD. RD.

Alan Lew

Crystal Jackson

Rebecca Stevens A.

Michael Burg, MD

Daryl Mowat

Dr Mehmet Yildiz

Godofredo Rojas

Floyd Mori

Tree Langdon, CPA, CGA

Tina L. Smith

Daisygwoods (Cocoa Griot)

Daniella Mini

Robert Trakofler

Kristina Segarra

Tom Handy

Jill Reid

Shawn Jr

Leo Guinan

Dr. Deborah M. Vereen

Jennifer Friebely

Audrey Malone

Terry Mansfield

Dianne Sullivan

Brian Dickens Barrabee

Thewriteyard

Dr. Preeti Singh

Liam Ireland

Mr.M (Muthu Raja)

Kiranjeet Kaur

Denise Scholander

Agnes Louis

Randy Wolken

Roger A. Reid, Ph.D.

Victoria Ichizli-Bartels, Ph.D.

Dr Mehmet Yildiz

Adebola Alabi

Sarah Towle

Geetika Sethi

Randy Shingler

Daisygwoods (Cocoa Griot)

Sarah Kelly

Leo Guinan

Khannas Kiran

Mark C Watney

Darcy Thiel

Thomas Dylan Daniel

Audrey Malone

Terry Mansfield

Aaron Meacham

Myriam Ben Salem

Martin D. Hirsch

Melissa Bee

Agnes Louis

Deborah Barchi

Abayomi Omoogun

Charlotte Brown

Shubham Pathania

Dr. Deborah M. Vereen

Harry Seitz

Danell teNyenhuis Black

Levi Borba

Vedanth Maheshwari

Aggee K.

Abena D

Jeff Herring

Jean Carfantan

Geetika Sethi

Boateng Sekyere

Francine Fallara

Casi Mclean

Thewriteyard

Adriana Sim

Dr. Preeti Singh

Nini Mappo

Walter Rhein

Mythili Iyer

Jay Krasnow

Jacquelyn Lynn

Thomas-Matthew Elijah Shands

Amy Hartsough

Thomas-Matthew Elijah Shands

Rebecca Sealfon

Paul Abela, MSc

Robert Trakofler

Thewriteyard

Andrew Jazprose Hill

Agnes Louis

Neha Sandhir S

Blaine Coleman

Michele Thomas

Aggee K.

Randy Wolken

Brian Dickens Barrabee

Ahsan Chaudhry

Aurora Eliam, CMP

Liam Ireland

Marijke McCandless

Harry Seitz

Sidd Chung

Lisa Holliday

Øivind H. Solheim

Dr. Deborah M. Vereen

Amanda Gabbard

Aggee K.

Daryl Mowat

Brian Dickens Barrabee

Karen Madej

Eunice Gikonyo, Msc Psychology

Dr. Preeti Singh

Khannas Kiran

Rajaneeshwar

Kevin Buddaeus

Michele Thill

Thewriteyard

Amy Hartsough

Christopher Akinlade

Tee, Conscious Creative

René Phongam, DPT

Nihan Kucukural

Roger A. Reid, Ph.D.

Victoria Ichizli-Bartels, Ph.D.

Erin King

Rebecca Stevens A.

Dr Mehmet Yildiz

Dew Langrial

J.D. Harms

Jacquelyn Lynn

Deborah Levine

Danielle Godfrey

Ntathu Allen

Godofredo Rojas

Paul Myers MBA

Alex Crisafulli

Debbie’s Reflection

Bryan Dijkhuizen, BA.

Sarah Shoshana Rosen

Daryl Mowat

Ziva Fajfar

Nicole Bryan

Thewriteyard

Jay Krasnow

Mark Alden

Kimberly Fosu

Harry Seitz

Anthony Aniobi

Amy Colleen

Kristina Segarra

Rajaneeshwar

Jacquelyn Lynn

Akeena M.

Phil Truman

Rosennab

Maria Cross

Andrew Jazprose Hill

Paul Myers MBA

Ntathu Allen

Thewriteyard

Remington Write

Jean Carfantan

Andrew Jazprose Hill

Brian Dickens Barrabee

Sajina Ignatius

Evaristo Pérez López

Maria Cross

Kiranjeet Kaur

Mukundarajan V N

Dr. Preeti Singh

Neha Sandhir S

James G Brennan

Louise Morris

Andrew Jazprose Hill

J.D. Harms

Khannas Kiran

Erin King

Rebecca Stevens A.

Dr Mehmet Yildiz

Zachary Minott

Tree Langdon, CPA, CGA

Agnes Laurens

Suntonu Bhadra

Sajina Ignatius

Isaiah McCall

Sabah Ismail✨

Øivind H. Solheim

Geetika Sethi

Tom Handy

Kris Franklin

Tracy Stengel

Fatim Hemraj

Brandon B. Keith

Jazz Parks

Eunice Gikonyo, Msc Psychology

Sofiane Ghecham

Zachary Minott

Shannon Hilson

Myriam Ben Salem

Leo Guinan

Randy Wolken

Dr. Dion

Selim Furkan Gul

Ajay Sharma

A.M. Cal

Muad Arshad

Primal Dhillon

Kapil Goel

Amy Hartsough

Deborah Barchi

M. B. Ahmed

Tree Langdon, CPA, CGA

Sebastian Purcell, PhD

Victoria Ichizli-Bartels, Ph.D.

Dr Mehmet Yildiz

Thewriteyard

Casi Mclean

ILLUMINATION-Curated

Maria Cross

Randy Wolken

Jean Carfantan

Anouska Parr

Danwil Reyes

Desiree Driesenaar

Tooth Truth Roopa Vikesh

Haucem Sadki

Geetika Sethi

René Junge

ILLUMINATION-Curated

Leo Guinan

Jith

Levi Borba

Tree Langdon, CPA, CGA

Stuart Englander

Shannon Hilson

Marjorie J McDonald

Kristina Segarra

Jamie Golob

Christopher Akinlade

Sumera Rizwan

Kimberly Thomas

janny’s heart

Penofgold

Ankit Das

ProfManagement

Jay Krasnow

Brenda Karl

Amy Hartsough

Tom Handy

Kris Franklin

Neha Ravindra

Manzoor Ahmed

Rajaneeshwar

Evaristo Pérez López

Jay Krasnow

Jason Ward

Leo Guinan

Florian Hoffmann

James G Brennan

Anthony M. Davis

Kelaiah Amador

Leo Guinan

Charlotte Ford

Anthony Aniobi

Florian Hoffmann

Erin King

Manzoor Ahmed

Rosennab

Britni Pepper

Adam Tabriz, MD

Paul Myers MBA

Holly Kellums

Tom Handy

Dr. Deborah M. Vereen

Liz Porter

Floyd Mori

Myriam Ben Salem

Zachary Minott

Kimberly Fosu

Karthick Nambi

Dr John Rose

Neha Sandhir S

Jack Burt

Gayle Kurtzer-Meyers

Rebecca Stevens A.

Olha Bahaieva

Michele Thomas

James Jordan

Liam Ireland

Tim Maudlin

Sidd Chung

Mitch Moore

Bill Myers

Harry Seitz

Cinto

Kim McKinney

Kiranjeet Kaur

Henner Townlove

Sylvain Saurel

Francine Fallara

René Phongam, DPT

Crystal Jackson

Lynn Dorman, Ph.D.; J.D.

Sarene B. Arias

Godofredo Rojas

Lee Nourse

Dr. Manishi Pallavi

Khannas Kiran

Deborah Barchi

Matthew Royse

Isaiah McCall

Amanda Gabbard

Wendy Belessis

Lisa Holliday

Melissa Bee

Danell teNyenhuis Black

Blaine Coleman

Adriana Sim

𝑷𝒂𝒓𝒂𝒈 𝑴𝒂𝒕𝒉𝒖𝒓

IMΛBӨПG FΛMIПЦ

Charlotte Ford

Rebecca Romanelli

Shrish Tariq

Daisygwoods (Cocoa Griot)

Jan M Flynn

Penofgold

Brenda Karl

Remington Write

Akeena M.

Karen Hough

Kay T.

Jill Reid

Pene Hodge

Deborah Levine

Fareeha Arshad

Jazz Parks

H.Daneel Olivaw

Alex Crisafulli

Kathleen Hall

Stuart Englander

Valentina Colapicchioni, PhD

Diana Bernardo

Cheshta Mann

Allison Gaines

Hazel Halil Halim

Kim Petersen

Thank you for reading stories of outstanding writers compiled by ILLUMINATION-Curated.

Invitation to join ILLUMINATION and ILLUMINATON-Curated as a writer

To join ILLUMINATION and ILLUMINATION-Curated, please send a request via this link. We will help you succeed. Over 5,000 writers contribute to our publications.

Please subscribe to our mailing list to receive customized distribution lists, newsletters, writing and reading productivity tips.

Inquiries: https://illumination-curated.com

Writing
Self Improvement
Business
Politics
Technology
Recommended from ReadMedium