fabiochiu/medium-articles huggingface dataset:
Watching ‘Crazy Ex-Girlfriend’ Led to My Mental Health Diagnosis
Tags: TV Series, Borderline Personality, Health, Mental Health, Media

With my new diagnosis to guide me, I was motivated to implement positive changes in my life. I began to identify and more easily recognize my triggers, and enforce self-care methods whenever I started to spiral. I also was able to explore renewed openness with friends and my mother, as I learned my feelings of imminent abandonment and my affinity for self-sabotage stemmed from the disorder. I allowed myself to enjoy moments with them and not hold them so far away from me.

I also decided to move halfway across the world for a fresh start. My spontaneity has seldom done me any good, but like Rebecca, who quit her job as a lawyer to find her passion, I decided to take a leap of faith for the better.

Recognizing that a core aspect of the disorder was a constant need for validation, I also deleted myself from all dating apps and began a ‘dating sabbatical.’ Craving human contact and connection is a very natural thing. However, relationships and intimacy are triggers, so I made a sacrifice as a means to explore my identity — away from the influence of others.

Though it has been hard, I have instead put all that energy in building myself and my career. I would be lying if I said it doesn’t get lonely, but it has been extremely fulfilling in a way a relationship never was for me. However, I am aware I need to not get too comfortable in my solitude. On a later episode of the show, during a therapy scene, Rebecca explains her need to cut off intimate relationships. “Because I don’t want to die, ok? I’ve gotten better. I’ve progressed. But something will happen and…I know what I’m capable of when I feel abandoned. I can go to a dark place, a place I can hurt myself, and I never wanna be in that place ever again,” she tells her therapist.

The sentiment, I feel, perfectly encapsulates my feelings. But seeing it play out in front of me made me realise that I can’t allow my life to be dictated by fear. Even though my last suicide attempt was motivated by those exact feelings, for someone I rarely think about and very much doubt I ever loved. I can’t live dictated by the disorder. There is this view that people with BPD aren’t relationship material, which is wrong, but I would be internalizing that misconception by closing myself off to love. So I have also been learning how to set healthy boundaries — for when I am ready for intimacy.
A Place of Healing: Wrestling with the Mysteries of Suffering, Pain and God’s Sovereignty
By: Jocelyn Soriano
Tags: Book Review, Books, Christianity, Health, Healing

We have all asked the question, “If there is a God, why is there suffering?” But how often have we asked, “If there is no God, why are there people who still believe in Him despite all of their sufferings and pain?”

After reading the book, A Place of Healing: Wrestling with the Mysteries of Suffering, Pain and God’s Sovereignty by Joni Eareckson Tada, I have learned of one such person who continues to believe in God despite her tremendous pain.

Because of a diving accident, Joni has lived as a quadriplegic for decades that has kept her mostly in her wheelchair, and recently, she has suffered tremendous pangs of pain from a fracture at the back of her spine. Despite all of these however, she continues to have faith. In fact, her faith becomes even more deeper as she clings to God more tightly in her dependency upon His Grace.

Below are just some of the excerpts in the book:

“Whatever you want, Lord…whether I jump out of my wheelchair pain free and tell people that my healing is genuine evidence of God’s awesome power… or whether I continue smiling in my chair, not in spite of my pain but because of it, knowing I’ve got lessons to learn, a character to be honed, other wounded people to identify with, a hurting world to reach with the gospel, and a suffering Savior with whom I can enjoy greater intimacy. And every bit of it genuine evidence of God’s love and grace.” “To this point, as I pen this chapter, He has chosen not to heal me, but to hold me. The more intense the pain, the closer His embrace.”

How could we ignore such words? How could we not notice the kind of faith that lives within a heart that suffers from so much pain?

It is so difficult to believe when one is suffering , but I guess it is more difficult not to believe a person who keeps on believing despite her pain. That is the reason I wanted to share this book with you, so may be blessed by it and by Joni’s story, as it has blessed me.

It is true that we are God’s beloved children, and that by all means, we expect our Father to love us and provide us with everything we need. But even in the seeming absence of riches, and even in the presence of pain, we cannot conclude that God isn’t there anymore, and that He doesn’t love us anymore.

We are after all, still mere pilgrims in this world. This is not yet the end. In fact, this is still a battlefield where we continue to fight for everything we hold dear.

These are Joni’s own words:

“At different times in my life I’ve enjoyed the old pictures of Jesus cradling cute lambs or walking around with blow-dried hair, clad in a white robe looking like it just arrived from the dry cleaner. But these days, these warfare days, those old images just don’t cut it for me. I need a battlefield Jesus at my side down here in the dangerous, often messy trenches of daily life. I need Jesus the rescuer, ready to wade through the pain, death, and hell itself to find me, grasp my hand, and bring me safely through.”
The Rules For The Facebook Group About Facebook Group Rules
By: Shani Silver
Tags: Humor, Writing, Facebook, Culture, Social Media

We’re so glad you’re here. Except for you, Karen.

Photo by Kari Shea on Unsplash

Welcome to the Facebook Group about Facebook Group Rules. This is a place to discuss all the different kinds of Facebook Group rules and absolutely nothing else. If you’d like to discuss something else, please do not request access to this group. Not that we’d let you in, but if you could just save us the time and not even try that would be great, we all have jobs and Greg is training for the marathon.

The admins of this group know how much we all love leading lives within clearly defined but heavily abundant boundaries, so we’ve pinned this to the top of this Facebook Group page for easy reference. Please review, bookmark, and memorize all rules and abide by them or your posts will be removed, your access to this group will be revoked, and we’ll publish your 9th grade report card on the front page of a small but very reputable local newspaper.
Why Domino’s Pizza Was Ready to Give Free Pizza for 100 Years
By: Binit Acharya
Tags: Business, Marketing, Psychology, Technology, Social Media

The Campaign

Domino’s Pizza launched a marketing campaign in Russia where people could get 100 free pizzas for 100 years if they tattooed themselves with the brand’s logo and posted those pictures on social media with the hashtag #DominosForver.

To their surprise, there was quickly an abundance of photos of people with the brand’s tattoo on Facebook, Instagram, and VKontakte (a Russian social media platform). I wonder what they expected. They should have expected people to react this way. Here are some of those pictures posted by people:

Source: Screenshot by the author on Instagram

Source: Screenshot by the author on Instagram

Domino’s Pizza clarified that only the first 350 people to post the tattooed images would get the free pizzas. The tattoos were also required to be at least 2 cm in length, and had to be in “visible parts of the body.”

But it was too late already, and people didn’t stop posting such pictures. They kept coming non-stop. Even after the number of participants was well over 350, people still kept posting pictures on social media.

It then had to post an urgent message for people who were going to get the tattoos. The message was:

"An urgent message to all those sitting at the tattoo artist’s right now: We’ll include you in the list of participants, but we’re waiting for photos up to midday today."

This campaign had been planned to be run for two months, but due to the overwhelming participation of people, it had to be ended in just 5 days.
Exceptions From A Software Engineer
By: Pranay Deep
Tags: Software Engineering, Software Development, Amazon, Microsoft, Expectations

Let’s define an SDE/SE using the following points, and this my understanding and learning so far.

GDTRS “A software engineer is the one, who can ‘G’ather requirements, ‘D’evelop, ‘T’est, ‘R’elease and ‘S’upport a software product.”

- Pranay Deep

Gather Requirement and design

Photo by Med Badr Chemmaoui on Unsplash

Use common sense and understand general ask then do a dive deep for the actual requirement. Create a design document (HLD and LLD) and get it approved from senior SDE and peer. Break it into task and give ETA.

Development

Photo by Kevin Ku on Unsplash

Choose a technology to deliver result. Follow SOLID principle and write scalable and maintainable code. Write proper “Unit Test” for all the public methods. Make sure to maintain code-coverage at-least by 75%.

*Writing unit tests after code is not TDD

Testing

Since you have covered UT(Unit Test) while writing code, now this is the time to write integration tests.

Here we will check actual behavior of various components when the interact with each other.

Release

Photo by Bill Jelen on Unsplash

You don’t want to deploy your newly baked code into production. Better deploy you code in batches 25% at a time. Observed any spike in normal behavior? Revert!

Support: — Every SDE is expected to be On-Call(Support) for a week or two (team dependent).

Acronyms:

Photo by Lauren Sauder on Unsplash

SDE: Software Development Engineer. SE: Software Engineer. UT: Unit Test. LLD: Low Level Design. TDD: Test Driven Development. ETA: Estimated time of arrival SOLID:
The Next Financial Crash Will Hit Social Media Too
By: Phillip Stutts
Tags: Marketing, Relationships, Facebook, Instagram, Social Media

The Next Financial Crash Will Hit Social Media Too

Life always comes full circle, so you should be prepared

Photo by Ehud Neuhaus on Unsplash

Growing up in the 1970s and ‘80s, I saw a massive disruption that most likely caused my incurable disease.

The transition happened when “mom and pop” grocery stores, sourcing their products from small farms and local farmers, became overrun by mass-produced grocers. These grocers offering cheap-prices and thousands of options. It was the big-box revolution.

Before this disruption hit, “organic” wasn’t even a word in our vernacular — it was just “produce and vegetables.” They were most likely organic, but you didn’t need to label it that way.

But the disruption of local grocers in favor of mass-produced food distributors, where food was cheaply grown domestically and internationally, was brought on by the increased use of pesticides and lack of oversight. It created a massive change in our diets too — cheap, toxic fruits and vegetables and sugary/salty processed foods.

It was nirvana… food addictions exploded…and a generation later we realized that those pesticides and processed foods cause disease and obesity (I personally attribute these choices, unbeknownst to the effect, to my disease).

But now, this industry has come full circle. The small local farmer has made a massive comeback. “Organic” is a billion-dollar industry. When you see Walmart not only offer organic options but invest billions of dollars into them, then you know the pendulum has swung in the other direction.

It took 40 years.

My friend @TheDovBaron says it succinctly, “The disruptors will be disrupted.”

He’s right. (We constantly see it in politics too, where the political parties wildly swing to and from power every few years.)

If you follow patterns, you can see it in other parts of our economy. There’s one aspect of our new technological society that will not only be disrupted but will have a meltdown — a crash so epic, it will change your life. And here’s the kicker — you invest in it every single day…

It’s social media.

Yup. Facebook, YouTube, Instagram, etc. Get ready — it will crash, and here’s why.
Software Engineering Series (Part -2)
By: Aditya Kumar Khare
Tags: Market, Software Engineering, Design, Software Development, Computer Science

Software Engineering Series (Part -2)

Design Phase … It’s all about how it works

If you are here for the first time i would highly recommend reading the first part here . Previously after going through the requirement phase let’s just get into the next step known as design.

So, what’s the role of design,well lets first understand, what’s design? . If we think about it in a general way. we get, well now you have the requirements, so you need a plan and a way to build things you actually wanted. Design is a “way” to execute to build your products.

It’s a plan.

Here, I’ll be talking about 6 design terms that you’ll face during software engineering. These different design techniques are used in different places according to their use cases. Let’s see what these are.

1.Component Design :

Imagine you’ve been given a task to create a music player. And your music player is able to play files locally and is able to stream as well.

Now, how would you build the playback screen. You’ve two options either build a screen for local playback and one for streaming or build single screen to work in both the situations consistently.

Pause, What would you wanna go for?

Ofcourse, you can go with two different screens. That will definitely take more time. But, let’s think about the one with adaptable nature. One single screen and that’s basically able to play songs in two different environments. Isn’t that amazing.

That’s exactly what component Design is.

There can be a lot better examples but it’s OK, if you get the point. It’s about how (plan) of building adaptable component.

A component Design is a design specification for one of these adaptable component. Application Engineers, using the generation picture procedure, may adapt and compose a set of these components to implement certain work products or position thereof.
Deepfakes Detection by Heart Rate Prediction
By: Mikhail Raevskiy
Tags: Machine Learning, Artificial Intelligence, AI, Data Science, Deep Learning

Researchers at Binghampton University and Intel Corporation have developed a model that recognizes deepfakes by predicting heartbeats. The classifier uses photoplethysmogram data to recognize fake videos. An important assumption in the model is that it learns to recognize deepfakes that have been generated using a set of publicly available architectures. This imposes restrictions on the use of the model in real applications.

The approach detects fake videos with an accuracy of 97.27% and a generative model of deepfakes with an accuracy of 93.39%.

DeepFakes problem

The popularity of deepfakes has grown in recent years. Artificially generated videos of famous people are used for a variety of purposes, from filters on social media images to political propaganda and false news. This makes research on methods for recognizing deepfakes a topical area.

The idea behind the method

The researchers analyzed the remnants from the generative GAN model and tried to link them to biological signals. The proposed framework for the classification of deepfake videos is able to recognize a fake video and its source if it was generated by one of the available models.

The model starts with several generative networks that receive one real video as input. The real video and the generated deepfakes are then fed to the input of the registration module. At this stage, the model extracts parts of the face of interest, which track biological signals for photoplethysmograms.

The last module is a classifier that predicts the video class by a presentation. If the model predicted a deepfake, then it predicts the most likely architecture of the model that was used to generate.
7 Tips to Make the Most Out of Your Pet Projects
By: Douglas Navarro
Tags: Software Engineering, Programming, Software Development, Productivity, Learning To Code

7 Tips to Make the Most Out of Your Pet Projects

Spoiler alert: Working late into the night is not one of them

Photo by Kyle Hanson on Unsplash.

I’ve started so many side projects. Little or not so little, most of them were focused on one thing: making myself learn something new.

Although I’ve taken on several pet projects since I started coding more than seven years ago, year after year, I end up having less and less time to dedicate to them. Being more efficient has become inevitable if I want to keep going.

Building real stuff is definitely the best learning method for me, and during my last side project (a word search game using Flutter), I realized a few patterns that really helped me make the most of it. Hopefully, they will help you too. So, let’s get to them!

Note: I’ll use examples from my last endeavor to make my points a bit clearer.
Indo-Thai Fusion Curry: A Poem
By: Manasi Kudtarkar
Tags: Vegan, Creativity, Poetry, Food, Recipe

Prep Time: 15 minutes | Cook time: 20 minutes | Total time: 35 minutes

Servings: 4 | Course: Entree | Cuisine: Indian and Thai fusion, Vegan, Gluten-free

Ingredients:

2, 14-ounce cans light coconut milk (substitute full-fat for a creamier texture)

2 cups chopped broccoli florets

1 cup chopped potatoes

1 cup beans (whole or chopped)

1 cup diced carrots

8 oz firm tofu, cut into small cubes (optional)

1/4 cup water or vegetable stock to steam the vegetables

4 tsp Everest Chicken Masala/ Curry Powder (affiliate link)

1/4 tsp turmeric powder

1/2 tsp red pepper powder (optional)

1 tsp Lemon (can be substituted with soy sauce or any other souring agent)

Salt to taste

Instructions:

Heat a deep pan on the stove

Get ready to pour in some love

Let’s cook an Indo-Thai Yellow Curry

But remember, we’re in a bit of a hurry

Dinner’s at half-past eight

The family’s headed home straight

So we’ll use a recipe unconventional

I promise the taste will be sensational

In, go the water and lots of vegetable

Carrots, potatoes, beans, anything’s acceptable

Sprinkle a dash of turmeric and salt

Steam them veggies till slightly soft

Some like their vegetables crunchy

I like my broccoli to be bunchy

Now add coconut milk from a can

Gently stir the ingredients of the pan

Everest chicken masala is the key

At any Indian grocery store, it should be

Don’t let the ‘chicken’ in the name fool you

It’s completely vegan; I assure do

Now throw in the masala you got

Add powdered red pepper if you like it hot

Let the curry simmer and then check for taste

Add your favorite spices, but make haste

Lastly, squeeze in some lemon

And your family, summon

Switch off the stove and allow it to cool

By now the aroma has everyone in a drool

And there your have it nice

Serve it with Thai Jasmine rice

Try this recipe, it’s sure to be a hit

Enjoy your meal, wish you a bon appetit!
The Why and How of MapReduce
By: Munish Goyal
Tags: Mapreduce, Hadoop, Data Engineering, Data Science, Big Data

Hadoop’s MapReduce In General

Hadoop MapReduce is a framework to write applications that process enormous amounts of data (multi-terabyte) in-parallel on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-tolerant manner.

A typical MapReduce job:

splits the input data-set into independent data sets

each individual dataset is processed in parallel by the map tasks

by the then the framework sorts the outputs of maps,

the outputs of maps, this output is then used as input to the reduce tasks

In general, both the input and the output of the job are stored in a file-system.

The Hadoop MapReduce framework takes care of scheduling tasks, monitoring them, and re-execution of the failed tasks.

Generally, the Hadoop’s MapReduce framework and Hadoop Distribution File System (HDFS) run on the same nodes, which means that each node is used for computing and storage both. The benefit of such a configuration is that tasks can be scheduled on the nodes where data resides and thus results in high aggregated bandwidth across the cluster.

The MapReduce framework consists of:

a single master ResourceManager (Hadoop YARN),

(Hadoop YARN), one worker NodeManager per cluster-node, and

per cluster-node, and MRAppMaster per application

The resource manager keeps track of compute resources, assigns them to specific tasks, and schedules jobs across the cluster.

In order to configure a MapReduce job, at minimum, an application specifies:

input source and output destination

map and reduce function

A job along with its configuration is then submitted by the Hadoop’s job client to YARN, which is then responsible for distributing it across the cluster, schedules tasks, monitors them, and provides their status back to the job client.
5 Wrong Ways to Promote Your Articles
By: Desiree Peralta
Tags: Writing Tips, Writing, Advice, Ideas, Creativity

2. Don’t Spam Your Articles Inside Other Articles

Another fairly common practice when we make a post is to include links to other related articles in case readers want to continue reading.

The problem with this is that it can turn into spam. Believing that an excellent post should include at least three to four references to your other articles is a poor practice that does not work.

You can even ask anyone who likes to read informative articles about how many times they have clicked those links while they are reading. They will probably tell you they don’t remember.

I once clicked on a post that had a very interesting title. After the first paragraph, the writer linked to two other posts that promised to “fulfill” what he said in his first post.

After I finished reading, I realized that the entire article was clickbait to get people to visit their other posts. None of the writer’s articles really helped me.

Outcome? I ended up blocking the author.

When someone cannot calmly read the content of an article without receiving spam or ads promoting other posts, they will not be able to follow the thread of the story and will get tired of not learn anything.

In the end, you create the result that you do not want.

What you can do instead

Write stories that leave others wanting to read more from you. If someone wants to continue learning from your post, they will go to your other articles with or without links in the article.

Also, there are places that allow you to post one or two stories at the bottom of your profile. That’s totally okay as long as the topic you put there is related to the content you have.

But this strategy will help you gain only 5–10% of the views that the current article has.
Haar Cascade Classifiers
By: Om Rastogi
Tags: Machine Learning, Opencv, Python, Computer Vision, Haar Cascades

Learn and implement Haar cascade classifier in projects…

Viola Jones Algorithm

Working of Classifiers

The Viola-Jones object detection framework is a machine learning approach for object detection, proposed by Paul Viola and Micheal Jones in 2001. This framework can be trained to detect almost any object, but this primarily solves the problem of face detection in real-time. This algorithm has four steps.

1. Haar Feature Selection

Objects are classified on very simple features as a feature to encode ad-hoc domain knowledge and operate much faster than pixel system. The feature is similar to haar filters, hence the name ‘Haar’. An example of these features is a 2-rectangle feature, defined as the difference of the sum of pixels of area inside the rectangle, which can be any position and scale within the original image. 3-rectangle and 4-rectangle features are also used here.

Haar Features

2. Integral Image Representation

The Value of any point in an Integral Image, is the sum of all the pixels above and left of that point. An Integral Image can be calculated efficiently in one pass over the image.

3. Adaboost Training

For a window of 24x24 pixels, there can be about 162,336 possible features that would be very expensive to evaluate. Hence AdaBoost algorithm is used to train the classifier with only the best features.

Image by Packt

4. Cascade Classifier Architecture

A cascade classifier refers to the concatenation of several classifiers arranged in successive order. It makes large numbers of small decisions as to whether its the object or not. The structure of the cascade classifier is of a degenerate decision tree.

Architecture

Implementation

Application

Despite the arrival of deep learning(RCNN, YOLO, etc), this method is still used in many applications for face and object detection, as this is very simple yet powerful.
Spark deserves a better IDE
By: Raj Bains
Tags: Kubernetes, Spark, Data Engineering

Authors: Raj Bains, Maciej Szpakowski

Spark has become the default Data Engineering platform in the cloud. With Databricks, AWS EMR, AWS Glue, Azure Databricks, Google Dataproc and Cloudera, one can rely on Spark being ubiquitously available.

As we work with Enterprises to move legacy ETL to Spark, we’ve been focusing on building the right replacement. We find that the current interfaces fall short, and defining a new interface.

Legacy Visual ETL

Driven by Visual Drag-n-Drop interfaces, these have a vast number of Enterprise developers adept at using them. Actually, it’s quite nice to get a visual overview of how the data is flowing, but over time the clicking is exhausting.

Now, legacy ETL products claim to support Spark. On the ground, this means developing workflows in their proprietary format, that sits in their legacy store, generating unmodifiable crappy code. There is no longer an appetite for these boxed solutions in the Enterprise.

Spark Code

A lot of technology companies especially in the bay area choose to write code instead. One can use notebooks, but without ordering and standard structure, there is a consensus that these are no way to write production code.

IDEs give a vast canvas to paint code on, but with the power and flexibility, different teams paint differently. They end up with different ways of structuring code and managing configurations. In the worst case, this means long Spark scripts where it is a nightmare to understand how the data is flowing, by doing variable chasing across instructions. It’s no joy for a production support team to find errors under time pressure.

Code=Visual

We looked at various roles in Data Engineering including Architects, Engineers, QA and Support and Engineers with different preferences, and thought hard about how to make everyone successful.
Why Do Most Prices End in 99?
By: Binit Acharya
Tags: Economics, Psychology, Business, Money, Marketing

Where’s the Evidence?

Psychological pricing has been studied for decades, and we’ve come to some very satisfying conclusions. In 1997, Kaushik Basu used game theory to explain how rational consumers use their time and effort when it comes to calculations. He gave an economic explanation for why this happens.

Photo by wu yi on Unsplash

Consider a large enough marketplace with many products. Here, each consumer is rationally making decisions. When they read the price from left to right, they ignore the last two digits of the price as they value their time and effort. What they do instead is associate them with the mean cent component of all the products in the marketplace.

What matters to the seller is the dollar component of the price in determining the demand for the product. The seller can now change the cent component without significantly affecting consumer behavior and the average cent component according to the demands for the product.

If I am a seller, and I set my cent component to 99, I am raising the average cent component and directly hurting other brands. So, other brands choose 99 too. The average is now so skewed towards 99 that the average won’t be changed by a single seller, which implies the consumer behavior won’t be changed too.

Consider each brand as a player, and each player’s strategy is to choose 99 as the optimal cent component. 99 is the optimal number to maximize profits for all the players.

It has been further supported in an experimental study by Bradley J. Ruffle.
Artificiality Bites 💊 Issue #10
By: Jaime Durán
Tags: Machine Learning, Data Science, AI, Artificial Intelligence, Deep Learning

Hello Human! This is a new issue from my weekly newsletter, holding a tiny compilation made of interesting articles from last week, projects, tutorials and tools; all related to Data, Artificial Intelligence and adjacent topics. Bon appetit!

📝 Interesting articles this week

🔧 Tutorials

Continuous Delivery for Machine Learning 41'

Extensive reading on how to automate the entire lifecycle of Machine Learning applications

Extensive reading on how to automate the entire lifecycle of Machine Learning applications Build a PyTorch Style Transfer Web App with Streamlit 📺 25'

Build an interactive deep learning application easily.

📦 Resources

tensorflow/recommenders

Google released an open-source package that makes building, evaluating, and serving recommender models easier with TensorFlow.

Google released an open-source package that makes building, evaluating, and serving recommender models easier with TensorFlow. gradio-app/gradio

Gradio enables the creation of customizable UI components over your PyTorch and TensorFlow models or arbitrary Python functions.

Gradio enables the creation of customizable UI components over your PyTorch and TensorFlow models or arbitrary Python functions. victordibia/neuralqa

A library for question answering on large datasets using BERT.

🎓 Courses / Books

Natural Language Processing with Attention Models (Coursera)

Deeplearning.ai releases today the fourth and last course from its NLP specialization.

(Coursera) Deeplearning.ai releases today the fourth and last course from its NLP specialization. Best Practices for Managing Data Annotation Projects (Bloomberg)

A book with a lot of advices for the different stages of a complete data labeling project.

🚀 Extra bits
UI Development Trend in 2020: Descriptive UI to Rule Them All
By: Dr. Lofi Dewanto
Tags: JavaScript, UI, Java, Development, Swiftui

In year 2020 it seems that major players in UI development are agreed in how we, developers, should design the UI (User Interface) of our apps or web apps. In this article I will show you the current UI development trends with different frameworks and environments available in 2020 and sum them up. Later I’ll take a look on the UI development trends in Java / GWT / J2CL.

Design Trend in UI

SwiftUI

SwiftUI has renovated the whole UI development in Apple world. Native on all Apple platforms with all those nice design tools set a very high bar for UI development. Also move from imperative UIKit / AppKit / WatchKit to declarative design to be able to make UI development more easier and straight forward. So how do you implement the UI today? You describe your UI textually. If you need a state you can mark a variable with @State and then use it to write something to it like $name. To read the content we just need to use \(name). This is what we call “two ways binding”. So each time we write something into the TextField the variable name will be updated and the Text which uses that variable will be updated automatically.

SwiftUI with Two Ways Binding “name”

Android Jetpack Compose

Android UI development follows the way of SwiftUI by adding Android Jetpack Compose to the UI development area in Android. Jetpack Compose only uses Kotlin (no Java implementation) because of some advantages of Kotlin over Java? I don’t agree that we can only have this type of UI development in Kotlin but it seems Google wants to push Kotlin over Java in Android development and won’t implement the same feature for Java developers.

Android Jetpack Compose UI Development with Kotlin (Source: https://bit.ly/3gJUiPJ)

If we take a look at the structure of the code in Jetpack Compose it really looks similar to SwiftUI. You have different syntax but in a whole the structure and the way to implement are quite similar. Two ways data binding is also simply possible with @Model annotation.

Flutter

Flutter has a nice overview to tell us what is the difference between imperative and descriptive UI development.

Flutter Descriptive UI and Structure (Source: https://bit.ly/3ndrt0E)

Flutter uses Dart as a programming language and it also has a nice structure for developing UI. Again the structure is very similar to other two frameworks before. Only in “two ways data binding” Flutter is not so easy to use in comparison with SwiftUI as you can see in this Flutter example.
New beta features of AutoAI in IBM Watson Studio automates feature engineering on multiple datasets
By: Yin Chen
Tags: Machine Learning, Automation, Data Science, Business Intelligence, AI

New beta features of AutoAI in IBM Watson Studio automates feature engineering on multiple datasets Yin Chen Follow Aug 4 · 2 min read

Have you ever tried using automated machine learning tools, but found out they only accept one input file while you are dealing with multiple relational data tables like the following sales prediction scenario?

If your answer is yes, AutoAI in IBM Watson Studio now has a new beta feature that could make your life easier by automating feature engineering on multiple data tables and saving your time wrangling data and debugging code. Watch this video to have a glimpse of the end to end experience:

The end to end experience can be summarized as the following 3 steps:

Configure join relations between different data sets

Run AutoAI experiment and get the best models

Score new data sets with the deployed model

If you are interested in experiencing this new feature in IBM AutoAI, please join the early access! We will send out invitations on a first-come, first-served basis, and we have limited capacity, so act fast!
Software And Life Goes In Tandem
By: Sankar Ganesh
Tags: Self-awareness, Software Engineering, Software Development, Software Testing, Self Improvement

Life: You can’t forgive somebody, if you think you’re incapable of making mistakes!

Software: You introduce bugs, if you think your code not misbehave.

Life: Be open and acceptable around, and feel relaxed.

Software: Get rid of bugs, by adding appropriate tests.

Life: You will be submissive until you think others can’t accept you the other way!

Software: You will introduce production bugs, if your test criteria miss to include appropriate data.

Life: You can’t love and hate the same person

Software: What you miss is what you get as bugs

Life: It’s your dream house and you pay your EMI. You still have to pay your house tax.

Software: Enjoy the treat of bugs caught by your tester :)

Life: Meal is like a medicine for life. More in-take will end up in high dosage.

Software: Manual Testing is part of software life. More you depend the turn around is high

Life: If you date many, you will be confused to choose whom to marry.

Software: If you manage memory badly, you go out of memory.

Life: Hunger brings life. Anger takes away life.

Software: Loop when needed, if not it becomes infinite loop.

Life: At the peak of spiritual, you turn mystical.

Software: Write programs for defined input over defined output.

Life: Stay fit to stay healthy.

Software: Solution right to code better

Life: Mistakes build up and cause suffering

Software: Tech debts cause more pain than actual development

Life: Remove bad habits and add discipline for better health.

Software: Deprecate unwanted code to improve the performance

Life: Day full of activity will let you sleep well

Software: Add try block to catch intentful errors

Life: Dreams without action leave you as a dream

Software: Code that are not deployed will RIP

Life: Touch others life to make your life meaningful

Software: Build open source and benefit the community
Edge Detection in Python
By: Ritvik Kharkar
Tags: Machine Learning, Data Science, Image Processing, Artificial Intelligence, Data Visualization

How to Perform Edge Detection — The Math

Before talking about the code, let’s take a quick look at the math behind edge detection. We, as humans, are pretty good at identifying the “edges” of an image, but how do we teach a computer to do the same thing?

First, consider a rather boring image of a black square amidst a white background:

Our working image

In this example, we consider each pixel to have a value between 0 (black) and 1 (white), thus dealing with only black and white images for right now. The exact same theory will apply to color images.

Now, let us say we are trying to determine whether or not the green highlighted pixel is part of the edge of this image. As humans, we would say yes, but how can we use neighboring pixels to help the computer reach the same conclusion?

Let’s take a small 3 x 3 box of local pixels centered at the green pixel in question. This box is shown in red. Then, let’s “apply” a filter to this little box:

Apply the vertical filter to the local box of pixels

The filter we will “apply” is shown above, and looks rather mysterious at first glance, but let us see how it behaves. Now, when we say “apply the filter to the little local box of pixels” we mean multiply each pixel in the red local box by each pixel in the filter element-wise. So, the top left pixel in the red box is 1 whereas the top left pixel in the filter is -1, so multiplying these gives -1, which is what we see in top left pixel of the result. Each pixel in the result is achieved in exactly the same way.

The next step is to sum up the pixels in the result, giving us -4. Note that -4 is actually the smallest value we can get by applying this filter (since the pixels in the original image can be only be between 0 and 1). Thus, we know the pixel in question is part of a top vertical edge because we achieve the minimum value of -4.

To get the hang of this transformation, let’s see what happens if we apply the filter on a pixel at the bottom of the square:

We see that we get a similar result, except that the sum of the values in the result is 4, which is the highest value we can get by applying this filter. Thus, we know we found a pixel in a bottom vertical edge of our image because we got the highest value of 4.

To map these values back to the 0–1 range, we simply add 4 and then divide by 8, mapping the -4 to a 0 (black) and mapping the 4 to a 1 (white). Thus, using this filter, called the vertical Sobel filter, we are able to very simply detect the vertical edges in our image.

What about the horizontal edges? We simply take the transpose of the vertical filter (flip it about its diagonal), and apply this new filter to the image to detect the horizontal edges.

Now, if we want to detect horizontal edges, vertical edges, and edges that fall somewhere in between, we can combine the vertical and horizontal scores, as shown in the following code.

Hopefully the theory is clear! Now let’s finish up by looking at the code.
The Creative Benefits of Being Deeply Aware of Your Environment
By: Jean-Marc Buchert
Tags: Awareness, Life Lessons, Productivity, Creativity, Mindfulness

The Creative Benefits of Being Deeply Aware of Your Environment

5 stories that show the power of open-awareness

Photo by Roberto Nickson on Unsplash

When John Reed, Citibank’s head of checking account business, took a vacation in 1976, he didn’t expect to have such an epiphany.

Sitting in a beach chair and enjoying the warm sun of the Caribbean, strange ideas came to him about an ever concerning issue: the profitability of personal banking.

Taking his notebook next to him, the ideas then flowed. He imagined on the same beach the concept of ATMs and email account balance verification, concepts that would revolutionize the modern banking system.

This story, although incredible, is not unusual: many creative people made discoveries in a state of open awareness, far from the focused concentration at work.

In Focus, Daniel Goleman shows especially that wandering minds are not opposed to focused attention, but on the contrary, increase your productivity.

Being more aware of the possibilities of your environment helps you select information better and notice more hidden details, which lead to unexpected discoveries.

It makes you broaden your attention, better control states of open imagination, strengthen your states of flow and increase your capacities for acute observation.

Here’s how 4 people reinforced this spontaneous state of consciousness to foster new states of enlightenment.
How Netlify’s deploying and routing infrastructure works
By: David Calavera
Tags: Infrastructure, Mapping, Wardley Maps, Computer Science, Engineering

Every now and then, people ask about the advantages of using Netlify before a traditional cloud provider’s file storage service. Cloud providers can serve static files from your own domain name, so why use something else? In fact, Netlify uses those services to store files too. The difference is in the value added by Netlify on top of those services.

If we were going to look at this difference on a map, we’d say that file storage is a commodity. Storage costs are very low, which turns those services into utilities. Anyone can take several files and upload them to the cloud. This presents us with some opportunities that we’re going to explore.

The first one is about what to show your visitors when they use different domains and subdomains. For instance, I want to show specific content for www.example.com and beta.example.com. This is usually solved by custom solutions. You can make that work with the right combination of DNS records and storage buckets.

Another interesting opportunity is efficient file uploads. Off the shelf tools usually upload all your files to a storage bucket every time you run them, even if there are files that have not changed. It makes this process slower than it should be if they only uploaded the files that have changed. This was one key advantage for Dropbox. Their desktop clients knew how to manage files to save bandwidth and time.

Off the shelf tools don’t offer bucket integrity either. If two visitors request the same file while you’re updating your bucket’s content, they can get different content. If that content requires new CSS and JavaScript, your visitors won’t see what you expect them to see. You can work around this with the right combination of CDN caching, expiration headers, and scripts to expire the cache after each upload.

Netlify solves these problems for you, and many others. We’ve created a real product from the experience of implementing those custom built solutions ourselves. The rest of this post explains some infrastructure details behind Netlify’s deploying and routing mesh.
The Definitive Guide to Medium’s Quotation Feature
By: K M Brown
Tags: Advice, Medium, Writing Tips, Creativity, Writing

Writers. We’re creative people. We’re our own bosses. No flimsy cubicle walls can hold our high-flying, freedom-loving spirits.

We set our own hours, follow our own passions, and write what we know. And while we generally agree that we should write every day, if for no other reason than to prime the pump, we’re not too keen on rules in general. You can’t tell us what to do.

And I like that about us. I think it’s admirable.

Usually.

But when it comes to Medium’s quotation feature, our independence is getting in the way of clarity. If you’re a regular reader, you know exactly what I mean. There’s a jarring lack of consistency in writers’ use of the tool.

If you’re a regular writer, you’re probably thinking something like, “Make me. Just try and make me play by the rules. I’m an artist. Why don’t you go lecture ee cummings about capitalization, ya grammar Nazi you?”

Oh dear. I’m afraid we’ve gotten off on the wrong foot. Let me try again.
The Programmer’s Paradox
By: Ryan Nehring
Tags: Development, Technology, Programming, Design, Software Development

How perfect does code need to be?

Image by Reimund Bertrams from Pixabay

In every project a programmer takes on, a tiny war is waged between time and perfection. Coding is a complex task that offers multiple ways to achieve the same end and is counter-intuitively both rigid in its function but subjective in its appraisal.

What do I mean by that?

Well, in JavaScript, if you leave out a closing parenthesis you’ll likely break the code completely; it is rigid in that function. However, comparing how two different programmers choose to solve the problem of validating a form will result in a wildly subjective debate over approach, merits, efficiency, etc.

So, it’s important to recognize that each programmer has a distinct and personal definition of “perfect” when it comes to code.
3 Meaningful Ways to Begin Your Business While Working a Full-Time Job
By: Ryan Porter
Tags: Inspiration, Business, Productivity, Ideas, Entrepreneurship

3 Meaningful Ways to Begin Your Business While Working a Full-Time Job

#2 Create an unbreakable process that keeps you accountable

Photo by ConvertKit on Unsplash

According to the U.S. Bureau of Labor statistics, roughly 66% of businesses fail within 10 years. If this makes you wonder whether starting a business is worth it or not, I don’t blame you.

Not only is starting a business risky business, but it’s tough to manage with everything else going on in life (like a pandemic).

It’s stressful paying the bills while your side-business doesn’t pay you. Especially in the early years, there’s no guarantee your business will pay off in the end.

I’m here to present a question: why start a business in the first place?

Well it’s kind of fun, isn’t it? Walk into a room and talk about your business and you’ll be the most interesting person in that room.

Actually, let’s back that up. Hopefully you aren’t in a room full of strangers. Let’s say you’re at a socially distanced gathering, and through your mask you mutter that you have a side-hustle.

It doesn’t matter what kind it is, but having a business is sexy. It’s something to strive for. It’s a respectable endeavor to pursue while making ends meet at a regular day-job.

It’s not always easy, especially when you see other driven people doing what you want to do. What do they have that you don’t have? You can do what they are doing.

Here are three tried-and-true ways to capitalize on your business idea, without giving up your daily bread-maker.
Palpable Anticipation
By: 𝘋𝘪𝘢𝘯𝘢 𝘊.
Tags: Creativity, Poetry, Poem, Energy, Writing

I can feel it

That edgy, vivid sensation accompanied by anticipation

Moving around inside my body

Leaving imperceptible traces of icy anxiety

Mixed with feverish excitement:

What is it going to be this time?

An incomprehensible event unfolding

Before my prominent hazel eyes?

Or perhaps an alarming situation

That I have no control over?

It may also be

An earthshaking moment filled with magic

A harmonious allignment of the frigid planets

With the inaccessible, nameless stars —

A euphoric union between all the elements

Of the multidimensional Universe;

Anticipation is suffocating

Yet liberating in its peculiar ways

Its a flicker of faith seasoned with fear

And some wishful thinking added on top —

All complimented

By nothing else

But a spark of hope.
The Creative Life Is Not For The Faint Of Heart
By: Tom Kuegler
Tags: Tech, Life Lessons, Writing, Creativity, Life

Being a creative person sucks sometimes.

“Running a start-up is like chewing glass and staring into the abyss.” -Elon Musk

I know Elon was talking about running a start-up there, but I think the same principle can be applied to creatives in general.

I think a lot of us get lost in the tales of massive success from writers like Jeff Goins and Michelle Schroeder.

We get so lost that we never contemplate what life is actually like for THEM.

Do they have any more security than we do?

Did they hit a point in their career where all they had to do was basically hit a button to create money?

I don’t know, but I do know this…