fabiochiu/medium-articles huggingface dataset:
Edie’s Three
By: Edie Tuck
Tags: Top 3, Mental Health, Resolutions, Medium Writers, Life Lessons

“Top 3 is a publication where Medium writers support other Medium writers by promoting each other’s work. Medium members are encouraged to post three stories from other writers that they enjoyed reading.” — Daryl Bruce

With the new changes from Medium, please read the stories below and support your fellow writers! :)

We Aren’t Breaking Up, But Thanks For Insisting

By: Fiona Sommer

It takes some serious guts to open up so publicly about the parts of us that aren’t so great. This new writer blew me away with this story, and because of it, I went on to read all of her other pieces published so far. She’s an immensely talented writer.

I had heard about BPD (Borderline Personality Disorder) in the past but had never really known what it was all about. You can hear of things, do a lot of assuming — which we all know only makes an ass out of you and me — or you can be open to learning about it. Just as Fiona has been open about sharing about it, and I’m so glad she did. An extremely informative article, and exceptionally well-written. I hope you’ll enjoy it as much as I did!

I Fell Out Of Love With Medium

By: Jon Peters

I think many of us can relate to the reasons Jon talks about in this witty article about how he fell out of love with Medium. Every so often, it seems the site is inundated with articles about how much someone made in a month, fool-proof methods on how to achieve success or listicles about what to do or not to do to make big bucks on Medium.

Don’t get me wrong — some of those articles can be extremely helpful, especially for new writers just coming on board. But the truth is, the vast majority of them are basically the same article written in a different hand, and there are just so many of those a person can read.

I love reading a diverse range of topics, and I have to say, I’m really glad Jon decided to give his relation with Medium another shot!

Don’t Make New Year’s Resolutions

By: Luke Wiese

Okay, we are all guilty of making a New Year’s resolution at one point or another, and promptly breaking it within a week or two (sometimes even less than a day!) And why do we do that to ourselves? Because someone started this strange tradition at some point in time, and now we all feel the need to make some life-altering change in our lives precisely at the stroke of midnight on January 1st?

We should be striving every single day to be the best versions of ourselves. Waiting for the first of the year just gives us reasons (excuses?) to justify not being our best selves “until then.”

We should love and respect ourselves enough to want to be the best we can all year long. Changes are implemented over long periods of time, so if you want to make a change in your life, start now and give yourself the best chance at success!
Factoring Quadratics With Python
By: Mohammad-Ali Bandzar
Tags: Math, Python, Factoring, Quadratic Equation, Programming

We are going to write a Python program that takes a quadratic of the form ax²+bx+c and puts it into factored form a(bx+c)(dx+e). Our program will only factor problems where the roots are integers or a rational fraction e.g 3/4.

we will start off by making our program take the 3 variables as inputs and coverting the inputs to float numbers.

Now we are going to preform the first step of factoring, finding the greatest common denominator between our three terms. We will be writing our own GCD function together our function will in essence swap the two numbers making the new first number(a) equal to b and the new b equal to b modulus a. and it will keep doing this until b is zero.

Since our function can only take the GCD of two numbers at a time we will call our gcdCalc function twice once with the first two numbers and once again with the previous result and the last number.

Now that we have found the GCD we are capable of factoring quadratics of the simplest form. Ones where the constant c is equal to zero. All we have to do is factor out the GCD and an x term and output the result.

Our code up untill this point should look like the following:

We can now factor any quadratic where the constant is zero:

But we want to be able to factor all sorts of quadratics. so we are going to add an else statement to our c==0 statement we wrote above and we are going to start off by finding the two possible solutions using the quadratic equation.

Note: Both solutions in the quadratic equation have the same denominator which I have calculated separately.

We are now going to check if any of our 3 values are non-integer. If so we know that we wont have a “clean” factorization of all integers so we want to abort the factorization proccess.

Our last step will be to find the GCD between our numerator and denominator so that we can reduce our fractions down.

We now want to generate the numerators/denominators of our solution, note that we will be taking the negative of the numerator because the quadratic formula gives us the roots x=x_1 or x_2 but we want to put it in the form x-x_1=0 or x-x_2=0 so we will be taking the negative of our numerators.

We will now print out our factored quadratic

Note that we are multiplying gcd by a/abs(a) to ensure that we get the same sign as a.

Our finished code now looks like the following:

We can now test it out:

We can also try out some other quadratic:

But the +- kind of bothers me so im going to write a function that will display the correct sign:

Now I'm going to modify my two print statement to make use of my function:

Now our outputs look like the following:

Heres a copy of the code we have written together:
#NaNoWriMo Update — Week One.. It’s going well so far but it’s still…
By: Kerry Jane Rider
Tags: Writing, Fiction Writing, NaNoWriMo, Life, Creative Writing

I prepared as best I could but I am finding that my characters have now taken over and are writing their own story. I am working off my outline but the story is moving differently and some things are being left behind and other things, which I couldn’t have imagined in advance of this experience, are coming into the mix. It’s exciting for me as a first timer! The challenge to meet my daily target of 2000 words is pushing me on and also, having a bigger than usual container, ie. 50,000 words, means there aren’t the usual boundaries either and, since that is the minimum requirement, it’s merely a guideline and not a final limit. I don’t think I’ll be pushing myself to 80 or 100,000 words on my first attempt but never say never!

It is an adventure in itself to explore the way dialogue develops and how characters interact with each other. As I write, new ideas come to me which far exceed the scope of my initial outline and the post-it note prompts which I wrote for myself, to ensure I never arrived to sit at my desk with a blank page and a blank mind. They are especially helpful to fall back on when the writing doesn’t flow quite so smoothly and I need a little nudge. Some days the scenes unfold such that my typing fingers can’t keep up with my brain and others are a little more stilted or I need to refer back to my outline or my prompts. I wrote some of each for individual characters, themes and scenes (on different colored notes!) so I can either choose a specific focus or pick randomly.

There is no time deadline inbuilt within the challenge itself for daily writing but, like everyone I’m sure, I have days in my week where I have more free time and some where I have found it challenging to squeeze in an hour. The least amount of words I was able to write on a day so far is 1085 but I am ahead against the total so have a bit of leeway built in and therefore refuse to beat myself up over it.
220+ Material Inspired Icons for Great User Experience
By: Svilen Dimchevski
Tags: UI, Design, UX Design, Ignite Ui, Icons

Icons have always been important in enhancing the user experience, not only for navigating easily through the information in your app or on your web site but also in increasing the readability of the content by summarizing it, making it exciting and drawing the user’s attention to the most important parts of your web projects. They save space in toolbars and palettes and there is no need to translate icons for international users.

While working on different samples and apps at Infragistics our design team has always found Google’s material icons great for user interface design, but kind of limited — especially in areas like Finance and Health. So, after some discussions we decided to extend the official Material Design Icon set provided by Google with an unofficial subset of 5 categories of icons that will be valuable not only for us but for the great people that use our products.

Being a product designer working from home for a couple of months due to a worldwide pandemic and taking care of a family at the same time is no easy task. Especially when you have a curious 6-year-old boy who wants to know more about your work and why it is more important than playing Monopoly or football for example.

I saw this as an opportunity to spend the time together and since my son really likes to draw, I decided to achieve this by enjoying some collaborative hours during the next days in sketching ideas for the five categories our design team has decided to start with.

Sketches my 6-year-old son did for some of the material inspired icons

We sat together with pencils in our hands and I tried to explain some design concepts. We thought about proper metaphors and real-world objects, wrote down some of the associations for possible symbols that we had in mind and then drew up some prototypes of what later would have become the new sets of material inspired icons that I designed.

My son often had questions and tried to implement what he heard in his sketches. Don’t ask me how I explained the meaning of some of the icons like fertilization and contraception since one’s understanding of an icon is based mostly on previous experience. I did not. Those symbols I kept for my eyes only. Respirator masks and viruses were far more easier to grasp (and to discuss without difficult questions) because of the challenging times we all face. The interaction with my son actually encouraged me to develop and validate my ideas even further. I now think if you can make icons memorable for a 6-year-old then you’ve done a great job.

What a valuable and productive time it was!
Why I Didn’t Tell Most People I Was a Stripper
By: Erin Taylor
Tags: Work, Relationships, Sexuality, Sex Work, Psychology

I never planned to become a stripper. I’m not sure very many young girls dream of one day becoming an exotic dancer at a gentlemen’s club. And I can’t say I’ve ever met someone who called stripping their “ultimate dream job” — certainly not anyone from my hometown.

I come from a religious and conservative family; the people around me growing up were never afraid to vocalize their disgust of sexually liberated individuals who were so “sinfully irresponsible” with their naked bodies that they sold themselves for money.

When I was nearly finished with my MBA program and before I became a stripper, I took a trip to visit my parents back home.

There was a buzz at my parent’s house around which company I was going to work for when I finished the program. But I had one foot out the door.

Unbeknownst to my friends and family, I had reached out through Facebook to a college friend of mine who I knew was a stripper. I wanted to know more about how she started dancing, what it was like to audition for the first time, and how much money she really made. She shared herself openly, and it was because of her that the world of sex work became a tangible option for me.

The wheels were already turning in my mind about leaving my corporate life and finding myself through stripping.

After dinner with my parents, I went out with my high school friends for a night out in the city. We were sitting in the backseat of a ride-share when my friend Kayla pointed out a strip club around the corner.

Deja Blue Gentlemen’s Club was lit up with fluorescent lighting — long lines of lively customers poured onto the sidewalk, waiting to be let into the massive building.

“Is this my future?” I thought excitedly.

As the club disappeared in our rear view, Kayla said drunkenly, “I heard someone from high school works there. So embarrassing. When a girl hits rock bottom, that’s where they go.”

Everyone in the car laughed and asked horrible follow-up questions like:

“Is it Sarah M.? Or Ashley K.? She was the biggest slut during our senior year, remember?” “Can you imagine going to private school just to become a stripper?”

I stayed silent. I wanted to say so many things, but I didn’t want to out myself. And by not speaking up, I felt guilty for not supporting sex workers. I mean, I was thinking of becoming one.

I wondered what I was going to say to people like Kayla when they asked me what I did for a job if I became a stripper. I realized revealing myself to be a sex worker would sour my personal relationships and taint my corporate reputation.

That’s the reality of living in a world where sex workers aren’t “normal” people — we lose friends, family, and job opportunities because of the stigma surrounding sex work.

And that’s why so many of us lie about our jobs. It isn’t because we’re ashamed. Trust me, we’re damn empowered by this job when we’re working. We lie because people cease to see us as we are and file us away in their minds as someone who has hit rock bottom without, not even for a second, trying to understand.
Painting of Home
By: Harry Hogg
Tags: Nonfiction, Prose, Love, Scotland, Home

Having for so long traversed the hills and the gullies of bodies along the way, listening for the thunder of eyelashes, immersing myself in shoulder smells, I remember now for what reason I came.

Such words, one might believe, could become a poem, a painting, a song, every word accompanied by a continual desire to share such rare beauty — all because, one day, the sun awoke and shone down hope, inducing deliriums of sweet indolence. The fermentations of the shadows and the ancient curves of romance have recorded a lifelong caress of the innocent, surging and dying away with each kiss.

My evenings now, sprinkled with laughter, angled and leaning in through the lattice fence outside the window, form diamonds of light on the study wall. I think about these diamonds as people vanished from my childhood. They shine still. I was stupid and young, but had devoted parents. I was not sure how I would create myself, standing so often mid-stream, balanced on stones, thumbs in belt loops, so young and so naïve. I’d get into bed while it was still light, pushing away the covers, hearing older children in the field playing soccer, or on the swings in the field, but I had my room, and a mother who read to me every night, long enough to provide a feeling of stability, comfort, peace and well-being.

It is not a poem, or a song, it is a painting of home.
Getting Started With Concurrency in Python: Part III — Multiprocessing
By: Narmin Jamalova
Tags: Python3, Programming, Python, Multiprocessing, Concurrency

Communication Between Processes

As mentioned already, each process has its own memory space and this is a major reason why issues like race conditions are not encountered in multiprocessing as often as in multithreaded programs.

In the code snippet below, we create two processes that can access global data list — however, none of them actually alters the list in place. data is changed only in the processes’ own memory spaces, leaving the main program memory space untouched.

Unique Memory Space Demonstration

So, how do we share the data between processes then? That is, how do processes communicate with one another (and with the main program, which is also a process)?

There are several ways, as outlined below (the examples are largely based on this source, which you may refer to for more details).

1. Shared Memory

We can create special arrays and objects allocated from shared memory. For instance, the multiprocessing module allows us to create Array and Value objects that will be shared between processes. In the code below we are creating an Array object of size 3 and specifying that it should include integer data types only (denoted with ‘i’). We also create the Value object with the specification that it should be some value of integer type.

Shared Memory

The output of this program will be a printed data list ([27000, 64000, 125000]) and value (216000) which will be the same both in the main program and the process (p5).

2. Managers

Manager class allows us to control a server process, which holds objects and allows other processes to manipulate them through proxies. For example, we can create a list in the server’s memory space and pass it as an argument to the processes we’d like to run. All code under the with statement will be within the manager’s scope — the manager allows data to be shared between the processes.

Manager Example

3. Queues

Queues can be used to pass messages between processes. In the example below, there are two processes communicating via the queue — one process is adding cubes of numbers to the queue q , while the other one is reading the queue elements until q empties.

We call .put() to add a value to the queue, and .get() to pop the value from the queue.

Queue Example

4. Pipes

Python’s multiprocessing module has a Pipe() function that returns a pair of connection objects. A pipe has two endpoints — the sender and the receiver sides. Messages get sent from one end of the pipe to another using the .send() method and they are received by the other end with the .recv() method.

Pipe Example

Pipes are faster than Queues — however, if there are more than two endpoints of communication, queues are the choice to go with. One thing that makes pipes not as safe as queues is that if two processes attempt to read or write from/to the same endpoint at the same time, data can be corrupted.
How to Do Cocos-BCX MainNet Token Mapping?
By: Bitpie Wallet
Tags: Blochchain, Bitpie, Games, Cocos Bcx, Mapping

Attention

Please identify the official designated mapping address of Cocos-BCX：0xAC1E002563E0945ad8F1c193171e3ce2617B269e

DO NOT send your ERC20 tokens from exchanges to the above address!

Please beware of fraudulent websites and impersonating social media accounts.

This mapping can be done in two ways currently: Bitpie Wallet for mobile users Mapping and MetaMask Extension Mapping for PC users . Exchange Mapping will be available soon.

It is highly recommended that you use a safe ERC20 address to swap.

The mapping ratio is 1:1, i.e. 1 ERC20 COCOS = 1 MainNet COCOS

Please beware that a transcation hash can only be mapped once. It takes some time to complete the entire mapping, so do not repeat the operation.

Please beware that all mapping applications on the day will be processed in batches at 6 pm every day.

Bitpie Wallet Mapping for Mobile Users

Transfer ERC20 COCOS to the official designated mapping address of Cocos-BCX（0xAC1E002563E0945ad8F1c193171e3ce2617B269e）

Please make sure to confirm the official mapping address multiple times.

2. When you submit the mapping, you need to enter transcation hash（ID）. So click on the transcations record to copy transcation Hash.

3. When you submit the mapping, you need to have a COCOS MainNet account. If you do not have a MainNet account, you can also register directly with Bitpie Wallet.

4. Bitpie Wallet registration process:

Select wallet system COCOS (Cocos-BCX) and create COCOS MainNet account following to rules.

5. After you get transcation hash and Go to the mapping DApp（ https://cocosmap.cocosbcx.net）, click “Submit Mapping”, fill in transaction hash and mainnet account and confirm signature.

6. After the transfer is successful and the 12 blocks are confirmed, the transcation hash and MainNet account information obtained by the above transcation are signed, and then wait for the same amount of MainNet COCOS to arrive.

7. Enter the MainNet account for query.

8. If your phone is iOS, please download bitpie pro version.

The above is a detailed guide on the MainNet COCOS mapping for mobile users, which has been released on the official website and official social channels. Users who hold ERC20 COCOS should arrange the time reasonably and choose to map the currently circulating ERC20 COCOS to the MainNet COCOS through official and third party tools.
5 Design Secrets to Help Build Your Website
Tags: Plugins, Design, Web Design, Website Design, Ecommerce

Design Tricks the Pros Use on DIY Websites

Make your website look like it was designed by a professional with these five tricks of the trade.

Building your own website opens up a whole world of possibilities. Suddenly your website isn’t a black box any more. You can control what it says and how it looks.

But if you’re like a lot of DIY’ers, you might notice a big difference at first between how you want your website to look and, well…how it actually looks. As with many DIY projects or #pinterestfails, it can be hard to match a professional designer right off the bat.

Fortunately there are some tricks of the trade that can take your website to the next level, and make it look just like those sample websites you love. Think of these as the secrets that web designers already know — and that you can now easily apply to your own website.

Continue reading…
Groundhog Day
By: Background Noise Comics
Tags: Mental Health, Humor, Health Insurance, Anxiety, Comics

Written by

Daily comic by Lisa Burdige and John Hazard about balancing life, love and kids in the gig economy.
PySpark process Multi char Delimiter Dataset
By: Vivek Chaudhary
Tags: Python Programming, Python3, Big Data, Programming, Apache Spark

The objective of this article is to process multiple delimited files using Apache spark with Python Programming language. This is a real-time scenario where an application can share multiple delimited file,s and the Dev Team has to process the same. We will learn how we can handle the challenge.

The input Data set is as below:

Name@@#Age <--Header

vivek, chaudhary@@#30 <--row1

john, morgan@@#28 <--row2

Approach1: Let’s try to read the file using read.csv() and see the output:

from pyspark.sql import SparkSession from pyspark.sql import SparkSession

spark= SparkSession.builder.appName(‘multiple_delimiter’).getOrCreate() test_df=spark.read.csv(‘D:\python_coding\pyspark_tutorial\multiple_delimiter.csv’)

test_df.show()

Output

#Note: Output is not the desired one and so the processing will not yield the desired results

Approach2: Next, read the file using read.csv() with option() parameter and pass the delimiter as an argument having the value ‘@@#’ and see the output:

test_df=spark.read.option(‘delimiter’,’@@#’).csv(‘D:\python_coding\pyspark_tutorial\multiple_delimiter.csv’) test_df.show(truncate=0)

error

#Note: spark throws error when we try to pass delimiter of more than one character.

Approach3: Next way is to use read.text() method of spark.

mult_df=spark.read.text(‘D:\python_coding\pyspark_tutorial\multiple_delimiter.csv’)

mult_df.show(truncate=0)

spark.read.text

#Note: spark.read.text returns a DataFrame.

Each line in a text file represents a record in DataFrame with just one column “value”. To convert into multiple columns, we will use map transformation and split method to transform and split the column values.

#first() returns the first record of dataset

header=mult_df.first()[0]

print(header)

Output:

Name@@#Age #split('delimiter') the string on basis of the delimiter

#define the schema of the Dataframe to be created schema=header.split(‘@@#’)

print(schema) Output:

['Name', 'Age']

The next step is to split the row and create separate columns:

#filter operation is removing the header

#map operation is splitting each record as per delimiter

#.rdd converts DF to rdd and toDF converts the rdd back to DF mult_df.filter(mult_df[‘value’]!=header).rdd.map(lambda x:x[0].split(‘@@#’)).toDF(schema).show()

Final Output

Hurray!! We are able to split the data on the basis of multiple delimiter ‘@@#’.

Summary:

· Read Multiple Delimited Dataset using spark.read.text() method

· use of map(), filter() transformations

Thanks to all for reading my blog, and If you like my content and explanation, please follow me on medium and share your feedback, which will always help all of us to enhance our knowledge.
New Clickbait Titles for Christmas Stories
By: Kyrie Gray
Tags: Satire, Humor, Holidays, Christmas, Books

Classic Christmas stories used to be told every year around a fire. Yet with all the content available now, it’s harder to get an old-fashioned story chosen over something more fun. So in order to keep the holiday classics alive, I have some suggestions for improving the titles of the season’s most iconic stories.

Frosty the Snowman becomes…

Images from Adobe Stock, mockups by author

Children are magic. But they can make impulsive decisions. If you could bring life to inanimate playthings, would you? Because it’s all fun and games, until someone starts to melt.

A Christmas Carol becomes…

A tale that’s been told a thousand times, now when people hear the title, they turn the channel. Unless it features muppets. They know the drill. So bring them back by making them see it in a new light. A story that proves that if you are wealthy enough you can buy your way out of damnation by purchasing everyone’s forgiveness.

The Elves and the Shoemaker becomes…

A heartwarming tale where you teach children that to stay in business, they need to deny their workers the most basic rights.

Rudolf The Red-Nosed Reindeer becomes…

Follow Rudolf as he grows from a little reindeer into a confident young stag at the head of the sleigh. Then keep following him as he seeks revenge against inferior reindeer and humans without supernatural abilities.

The Birth of Jesus becomes…

Once designation baby showers become more popular, that might be a regular occurrence. But what do you give the child who has nothing? Check out the hottest gifts here.

The Gift of the Magi becomes…

“I didn’t buy my partner something off their list and you won’t believe what happened”

It’s not as funny tis you think to end up in an ironic situation in which neither you or your partner can enjoy their gift because of poverty. So just buy something on their list. Particularly if you are thinking about cutting off your hair to get them that smartphone.
Fruit and vegetable stall veg box scheme
By: Keith Parkins
Tags: Covid 19, Lincoln, Vegetables, Lincoln Central Market, Coronavirus

Coronavirus pandemic driving innovation.

Fruit and vegetable stall in Lincoln Central Market offering home deliveries with possibility of veg box scheme in the future.

One of the few businesses still open in the town centre.

The last time I was in Lincoln I jokingly asked the fruit and vegetable stall in Lincoln Central Market were they opening a second stall when I saw fruit and vegetable boxes piled nearby? No, offering a delivery service.

Saturday fewer boxes ready to go out.

For deliveries visit their facebook page S Sharpe & Daughter Fruit and Veg.

An example of how small businesses are innovating to remain in business.

I suggested they continue with a veg box scheme. Currently they pack as per customer order. It may continue as a mix of the two.

If the stall chooses, they know what is in season, what offers best value, and they grow their own produce. For example if cauliflowers are cheap, they may pack two.

The possibility of further expansion. Where there was once an excellent wholefood stall, offer loose muesli, nuts, dried fruits, grains and other dried goods, customers bring in their own containers. Another possibility, freshly made fruit juices and smoothies.

Coronavirus pandemic only three food shops remain open in the town centre, fruit and vegetable stall within the Central Market, a butcher within the side alley, and Pepperdine’s a butcher in Sincil Street. The excellent fishmonger closed a couple of weeks ago as could no longer source fresh fish.

At a loss why anyone wasting their time in a queue like lemmings at a supermarket. Even more so why wait an hour or more when can shop locally?

Support local indie shops, they have what you want, and no queue.

Lincoln City Council who own and mismanage Lincoln Central Market need to take a good hard look at Trinity Market in Hull Old Town, then take measures to improve the market. Why, for example, does the Central Market close its doors at four every afternoon? It should be open until at least five, to give people the opportunity to pop in on their way home from work. Individual traders to close earlier if they wish.

Lincoln City Council needs to do more to support local indie businesses. It cannot return to business as usual. Town centres were already dying. The local council together with the local Co-Op have done their best to trash Sincil Street, a once thriving street of local indie businesses, driving out local businesses, bringing in the same rubbish corporate chains as find anywhere and everywhere.

If we are to rebuild our town centres, it will be through all of us supporting local indie businesses.
Is Deno the new Node
By: Akash Thakur
Tags: Web Development, Software Development, Nodejs, Programming, Deno

Examples

1. Basic Typescript

Create a new file helloDeno.ts in your favorite text editor and enter the following code:

let str:string;

str = 'hello Deno';

console.log(str);

As deno supports typescript out of the box we can directly run this in our terminal. You can run it with deno run helloDeno.ts which should output hello Deno .

That’s how easy it is to get started with deno. No typescript configuration required.

2. Creating a server

This is an example of a simple server which accepts connections on port 8000, and returns to the client anything it sends.

Create a new file server.ts.

import { serve } from "https://deno.land/std@v0.50.0/http/server.ts"; const s = serve({ port: 8000 }); console.log("http://localhost:8000/"); for await (const req of s) {

req.respond({ body: "Hello World

\" });

}

You can notice an unusual way of importing here. As mentioned earlier it uses modules referenced as URLs or file paths.

Run the program with deno run server.ts

You will see that this program returns an error regarding network access, so what did we do wrong? You might remember from the introduction that Deno is a runtime that is secure by default. This means that you need to explicitly give programs the permission to do certain ‘privileged’ actions like network access.

Try it out again with the correct permission flag:

deno run --allow-net server.ts

Please don’t add the --reload flag in the command. I just added it here to show that the program downloads and caches all the files from the URL specified in the first line of the program. It does so that next time when it runs the program it doesn’t have to go to the network to fetch the files again. You can more or less think of the cache here as replacement for node_modules(however not strictly).

Your server must be up and running now. You can now navigate to localhost:8000 in your browser to see the output.
AnalogFolk’s weekly innovation roundup! 27.08.19
Tags: Innovation, AI, News, Virtual Reality, Sign Language

AnalogFolk’s weekly innovation roundup! 27.08.19

Artificial illusionism, to taking steps in sign language recognition, and more…

By Francisco Jordão, Technical Lead at AnalogFolk

Welcome to the AnalogFolk weekly innovation roundup, where our technical lead Francisco Jordão summarises the innovations of the week; from the weird to the wonderful, and everything in-between.

The AI system paves the way for experiments in what researchers called artificial illusionism.

Read more…

Google is reporting that it has hit something of a breakthrough by developing a new hand-tracking algorithm that is capable of tracking hand gestures in real-time. The new intelligent AI-based system leverages machine learning to generate a hand map. This map can be created with the help of just a single camera allowing for easier implementation.

Read more…

Marketed as a “high-end solution for VR locomotion,” Cybershoes are an accessory device for VR systems that are compatible with Steam VR. This means they can be used with Oculus, HTC, Pimax, and other headsets.

Read more…

Open now to the general public, Dream Corporation’s Otherworld VR arcade looks like something straight out of Tron: Legacy. Designed by architecture studio Red Deer, the futuristic space — once simple east London railway arch — now features 14 private VR entertainment pods.

Read more…

What’s changing Google is introducing new spelling and grammar correction capabilities for Gmail to help you compose emails quickly with confidence.

Read more…
Tortured and Executed — The Grand Story of Noor Inayat-Khan
By: Reuben Salsa
Tags: Non Fiction Story, Salsa, War, History, Writing

in June 1943 she was sent to France, where she assumed the name Jeanne-Marie Renier, posing as a children’s nurse. Madeleine was her code name. Noor was constantly on the move in France.

The Gestapo struggled to keep up with her as she swiftly moved from one safe house to another. She managed to stay one step ahead of the Germans by constantly changing her address.

At one point, huddled late at night transmitting her coded messages, she could her the German soldiers reveling in the apartment below her. Noor had taken up residence in an apartment block full of German officers. SOE twice offered her repatriation to Britain, but she refused and remained working.

“Her transmissions became the only link between the agents around the Paris area and London,” Ms. Basu wrote in her biography “Spy Princess: The Life of Noor Inayat Khan.”

Eventually, for the grand sum of 100,000 francs, a French woman, named Renée Garry, betrayed Noor. Garry was arrested after the war and trialed for treason. She was found not guilty by a single vote.

Captured and taken to the Gestapo headquarters for interrogation, Noor escaped almost immediately. She made a 2nd escape On 25 November 1943, along with fellow SOE agents John Renshaw Starr and Léon Faye, but was recaptured in the vicinity.

Noor was viciously tortured as the Germans attempted to extract information from her. Chief of German police, Heinrich Himmler had ordered:

“The agents should die, certainly, but not before torture, indignity and interrogation has drained from them the last shred of evidence that should lead us to others. Then, and only then, should the blessed release of death be granted them.” Source — Ungentlemanly Warfare

Torture of women included beatings, sleep deprivation, cutting breasts off, pulling out finger and toenails and near-drowning. Still, Noor refused to give up any information. Hans Kieffer, the former head of the SD in Paris, testified after the war that she did not give the Gestapo a single piece of information, but lied consistently.

The Gestapo finally had enough after she refused to sign a declaration renouncing future escape attempts. On 27 November 1943, Noor was transported to Germany “for safe custody” and imprisoned at Pforzheim in solitary confinement as a “Nacht und Nebel” (“Night and Fog”: condemned to “Disappearance without Trace”) prisoner, in complete secrecy. For ten months, she was kept there, shackled at her hands and feet.

For almost a year, manacled, barely able to move, Noor was kept this way in solitary confinement. Her food was passed through a tiny hatch in the door. As the prison director testified after the war, she remained uncooperative and continued to refuse to give any information on her work or her fellow operatives. In despair at the appalling nature of her confinement, other prisoners could hear her crying late into the night.
The First Non-Fiction Book I Ever Read Changed My Life
By: Liam Terrington
Tags: Self Development, Personal Development, Self Improvement, Reading, Books

The First Non-Fiction Book I Ever Read Changed My Life

Entering the world of self-development

Photo by Fabiola Peñalba on Unsplash

I was only a 15-year-old boy.

I saw this book advertised to me on Instagram. “Have you ever wondered why there are few people living their dream, yet others seem to be slipping further away from theirs?”

I was hooked from the start. I felt an urge inside of me to read what this author had to say about life, and so I ordered it. £10 of my pocket money spent on this book which would turn out to be a changing point in my life.

You see, our life is where it is because of little decisions that we make. If I didn’t go ahead and purchase that book, I may not have got fascinated in the self-development world, and I wouldn’t be writing this article right now.

Every action we take today has repercussions in the future, whether positive or negative.

My actions lead to me reading this book and changed me into the man I am today:
My automated RKE update pipeline broke with version 0.2.x — my fault
By: Nico Meisenzahl
Tags: Rke, Kubernetes, K8s, DevOps, Rancher

I’m using an automated build pipeline to install, update and destroy my Kubernetes test-environments based on Rancher Kubernetes Engine (RKE). This worked perfectly until this week.

Let me shortly explain the important parts of my pipeline before I talk about the details:

checkout the cluster.yml from a git repository extract the kube_config_cluster.yml from the secured repository cache download the latest stable RKE binary from GitHub (I use this in my test environment where I would like to stay updated all the time) run “rke up/remove”

As I said, this worked perfectly for some time now. Earlier this week I pushed a new version of my cluster.yml to update my Kubernetes Cluster to a newer version. The pipeline started and failed some minutes later with the following error:

Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy

I started debugging the issue but I couldn’t find any issues. The whole Kubernetes Cluster including the etcd looked good. After some time I realized that Rancher released a new RKE version 0.2.x. (until now I used 0.1.x but because of step 3 of my pipeline the build run used the latest available stable version). So why does this even matter? With the new version of RKE Rancher introduced a new way to store the cluster state. They moved it from a configmap entry (0.1.x) to a file called cluster.rkestate (0.2.0) which is stored next to the cluster.yml. Because I wasn’t aware of this file my pipeline didn’t store it somewhere and therefore a “rke up” always created a new cluster.rkestate file. which then leads to the issue described above. After changing my pipeline configuration to also cache the state file the updated finished successfully without any issues.

What have we learned from this? Always read the release notes. 😏
Effective Kotlin: Item 23 — Prefer class hierarchies to tagged classes
By: Matthew Dolan
Tags: Android, Effective Java, Android App Development, Design Patterns, Kotlin

Tagged classes as discussed in item 23 of Joshua Bloch’s famous book, Effective Java, are classes that contain a tag field indicating the flavour of the instance. For example, a Shape class may have a tag field to denote if it’s a Rectangle or a Circle with methods such as area using switch statements. Often these styles of classes can be re-written as a class hierarchy with an abstract parent containing any shared functionality and abstract methods.

Kotlin is no different to Java and as such the above Shape and Rectangle classes may look as follows:

abstract class Shape {

abstract fun area(): Double

} class Rectangle(val length: Double, val breadth: Double) : Shape() {

override fun area() = length * breadth

}

Of course, there is more to creating a class in Kotlin. One thing to consider is whether to use functions or properties. Functions are good to denote side-effects, but with the above code the area function exposes our current state and so would be better as a property. Igor Wojda 👋🤖 talks about should I define Function or Property in more detail.

Given we aim to minimise mutability (item 17) in an immutable class the calculated area value would never change. If the calculation were costly it could also be delayed until when the value is used rather than on object creation with the lazy delegate behaviour:

abstract class Shape {

abstract val area: Double

}



class Rectangle(length: Double, breadth: Double) : Shape() {

override val area by lazy { length * breadth }

}

Another thing to consider in Kotlin is whether to use a sealed class which represents a restricted class hierarchy; they explicitly prohibit inheritance (item 19). As all subclasses are known when statements used as expressions become exhaustive without the need for an else clause and indeed the compiler will complain about missing statements should you change the hierarchy later:

fun hasFourSides(shape: Shape) = when (shape) {

is Rectangle -> true

is Circle -> false

}

Note that in many instances code with when statements would be better written using polymorphism.

One caveat of using a sealed class is that you must declare all subclasses of a sealed class in the same file as the sealed class itself — not ideal for a complex class. Also, avoid sealed classes if you are designing for inheritance (item 19).
Presenting: The Donut Kids of California
By: Michelle Sou
Tags: Cambodian, Photovoice, Donuts, California, Entrepreneurship

In partnership with the Federal Reserve Bank of San Francisco, Pink Box Stories presents The Donut Kids of California, a narrative photo series highlighting the stories of children of independently-owned Cambodian donut shop owners who grew up in and around donut shops.

These stories are more than a snippet of their — and for some of us, our — lives. They are stories of growing and running a small business, intergenerational support, social mobility, and the unique contributions of the Cambodian-American community to California’s economic fabric.

Read the reflections of these eight donut kids on the Federal Reserve Bank of San Francisco’s website.

Add your reactions here or on our Instagram @pinkboxstories and share this with someone who should know about this!
Of Sunlight and Hope
By: A. Christine Myers
Tags: Mental Health, Sonnet, Poem, Poetry, Hope

Of Sunlight and Hope

a sonnet

Photo by Max Rovensky on Unsplash

Bring me the sunlight’s kindly, warm embrace,

Its mother-touch that meets me day by day

To soothe the long and weary night away

And wake me with its greeting on my face.

Bring me its noontime lullaby, and trace

Its gracious fingers past the fearful gray

That haunts me day and night; and ray by ray

Return my heart’s lost hope to its own place.

Remember that my life is not so long

As is the sun’s, that hope will fail indeed

Some bitter night unless the sun and I

Make cause together, find the daylit song

Within its rays. Meanwhile my simple creed:

That as the sun returns, hope shall not die.
How Can We Create a Better Literary Landscape?
Tags: Kickstarter, Publishing, Creator Toolkit, Media, Books

In the past decade, we’ve seen the rise of the slow food movement and the buy-local movement. Both of these represent ways that consumers can use their purchasing power to make a stand for the type of world they wish to see.

Readers can make an equally big impact by learning more about how books are made and sold, by making deliberate choices about how they interact with the literary ecosystem (from reviewing books online to attending readings and literary events), and by supporting independent book publishers, bookstores, and media whenever possible.

On May 11, Kickstarter will host The Next Page, a digital conference exploring future of publishing through four live-streamed panels (open to anyone with an internet connection). Ahead of the conference, we asked a few of our panelists to share their suggestions for actions anyone can take to help create a more vibrant reading and writing landscape.

— Margot Atwell, Director of Publishing at Kickstarter
Books That Foster Personal Growth: Range
By: Zachary Walston
Tags: Growth, Personal Development, Personal Grow, Reading, Books

Do we need to specialize to succeed? Range: Why Generalists Triumph in a Specialized World by David Epstein throws cold water on the specialization movement we are witnessing in the sports world. This does not mean deliberate practice and homing specific skills is unnecessary or a waste of time, they are necessary to excel in a given arena. But there is great value in processing a range of skills.

When starting a new endeavor, whether it be organized sports or a new career, we benefit from a “sampling period.” Range uses research to show the benefits of developing a range of skills and experiences to excel in your career endeavors.

“Highly credentialed experts can become so narrow-minded that they actually get worse with experience, even while becoming more confident — a dangerous combination.”

Find more recommendations at zacharywalston.com

*Book link is an Amazon Affiliate Link
Analysis of the crypto surge pt.1
Tags: Bitcoin, Investing, Trading, Artificial Intelligence, Cryptocurrency

More importantly, how did our A.I. system react due to these surges? As BTC’s price was going up and reached $7600, our AI system kept telling us that the price was about to drop again (back to $7400 and lower):

But with each new hour it kept improving its output, as for many hours the price kept going up and stayed above $7500. Right now it’s well over $8000 — so the system has adapted itself and is making new predictions:

Hourly prediction (from an hour ago):

These are 10-min interval predictions (so that’s very short-term):

Hourly predictions:

As you can see, in the short-term the predictions indicate a drop, that is in the coming few hours the price may drop to ±$7800. But over the course of the day, that is the coming 12–24 hours, the price may reach a new height of $9000. I’m eager to see how our predictions shall evolve in the next 12–24 hours and how well their forecast shall be.

As mentioned in the introduction, this crypto surge is not limited to BTC, but almost every market is affected by this pump:

Stay tuned for part 2! :)

- Ilya Nevolin
I Feel like I Am Watching the World Burn
Tags: Mental Health, Equality, Life, Race, Zuva

I have good days and I have bad days but most days have been grey. A 6.5/10. Olympic bronze medal. Not bad but not great. I sometimes feel Iike I am watching myself live my life. I am numb to most things. It’s like a part of me died a while ago and though I feel almost like myself, there is something not quite right. I watch moments slip by like a silent film montage and think, “Is this what happiness feels like?” “Should I be happy by now?” I question if I ever experience anything.

Surely I shouldn’t be questioning it, I should live. But I don’t feel alive. I feel like I’m here, having to do what I have to do to survive. I don’t enjoy it nor do I hate it. I just do it. I imagine this is what people who work a dead-end job feel like Monday to Friday. Barley present yet functional.

I wonder if I have ever been happy. Do I even remember what happiness feels like? To be carefree in joy. Trusting the world to catch me. This world that I didn’t yet know had inhabitants who wanted to bury me. Then I’m back to thinking about dying. The feel of a wooden coffin. The taste of damp, cold, air. I think about the taste of soil. Worms feeding on my body to grow. Do they feel happy or do they do what they have to do?

I wonder if I lost the possibility of attaining joy when I found out I was Black. The realization that everything is built on structures meant to stifle me. That the vast majority of people will hate me before they know me. Will judge, feel intimidated, feel threatened by my existence. Yet will never say it with their chest. They will choose to gaslight instead of admitting the discomfort of my presence.