fabiochiu/medium-articles huggingface dataset:
How To Prefix Your Commit Message With a Ticket Number Automatically
By: Wiktor Malinowski
Tags: Git, Command Line, Programming, Git Hooks, Startup

How To Prefix Your Commit Message With a Ticket Number Automatically

Practical use-case for the prepare-commit-msg git hook

Photo by Paulette Wooten on Unsplash

You don’t have to enter the ticket number manually for each commit!

Once the branch name contains that reference, you can set up the git hook to do it for you!

Git allows you to intercept the commit message using the prepare-commit-msg hook.

This hook is an executable file that Git calls right before the commit. It takes a single argument — the target filename that contains the commit message.

# GIT executes the prepare-commit-msg hook internally like: $ .git/hooks/prepare-commit-msg .git/COMMIT_EDITMSG

The task is to prepare a custom message based on the branch name and write it back to the .git/COMMIT_EDITMSG file.

Here’s an example implementation in bash:

#!/bin/bash

FILE=$1

MESSAGE=$(cat $FILE)

TICKET=[$(git rev-parse --abbrev-ref HEAD | grep -Eo '^(\w+/)?(\w+[-_])?[0-9]+' | grep -Eo '(\w+[-])?[0-9]+' | tr "[:lower:]" "[:upper:]")]

if [[ $TICKET == "[]" || "$MESSAGE" == "$TICKET"* ]];then

exit 0;

fi



echo "$TICKET $MESSAGE" > $FILE

The TICKET variable contains an extracted ticket number in brackets, like:

myproj-123-some-feature → [MYPROJ-123]

→ feature/myproj-456-some-other-feature → [MYPROJ-456]

→ bugifx/myproj-789 → [MYPROJ-789]

→ 123_some_feature → [123]

OK, now copy the script and place it in your-repo/.git/hooks/prepare-commit-msg and make it an executable file using the chmod command: chmod +x your-repo/.git/hooks/prepare-commit-msg .

See it in action:

Ticket number auto-generated using inline commit.

Ticket number auto-generated in the text editor (commit without -m switch).

You may have noticed the condition:

if [[ $TICKET == "[]" || "$MESSAGE" == "$TICKET"* ]]

This is to guard against:
Great Stories That I Read in February
By: Pedro Escudero
Tags: Medium, Life Lessons, Writing, Recommendations, Reading

While I am an avid reader and anyone can check in my profile how often I clap the stories that I like, I would like to highlight the three articles that have resonated more in my mind:

# How I added 16,000 words to my too-short novel by Kelsey Down

Well, If there are two constants in my way of communication is that I speak very fast (in any language, when I tried to talk Vietnamese, I was like a shotgun). I write stories, novelettes, and novels that all zero readers and editors considered toooooooo-short (my fiction is only in Spanish).

It is interesting to see how other writers face this issue. If you have ever written a long fiction text, take a look at this story.

# No Love Lost, by Elizabeth Webster

It’s flashy, but I am not attached to the topic of this story, and yet I enjoyed its reading a lot. I have to thank both the precise prose of the author and the way that she exposes the details of the Via Crucis that Taylor Swift has crossed with her previous records label.

The story describes the problems that the singer Taylor Swift has had since she abandoned her former label and the toxic relationship since then. But it is more than an anecdotic story about the life of a star (and it is far away from being a pink press article). The text is well explained and organized, and beyond the particular situation of Swift, filters how the high-level contractual world works.

Believe me, give a chance to this article. Even if you usually will pass through this kind of topic. It will deserve each second.

# The Housing Problem and Our Economy, by Edward W Hackett

The last of the three stories is denser. The housing is an endemic problem in my country, so when I saw the title of this story, I jumped to it. The author speaks with the authority of whom knows his area as well as the housing sector. He points to a couple of potential solutions, like changing the building system to a vertical approach (what makes sense in the USA, but would have less impact in other places like Europe).

Furthermore, Edward responds to messages creating good debate points.

I hope you enjoy these readings as I did!
You Need Time To Find Clients As a Freelance Writer
By: Jun Wu
Tags: Freelancing, Content Marketing, Writing, Freelance, Writing Tips

Once You Are Established, You Constantly Improve

By being established, I mean that clients are starting to come to you. I have not gotten to that point yet. But, I’ve seen some writers who have. I see the amount of “competition” they get from other upcoming writers and I am genuinely scared when I get to that point.

But, you have to be prepared to constantly improve. There’s no time to waste on clients who don’t pay. There’s no time to waste on types of niches that you dread writing in. There’s no time to waste on writing for free in eternity.

You need to constantly improve at pricing your services, refining your portfolio, and establish new streams of income.

I’ve seen writers who have courses, books, and paid newsletters, etc.. These writers all juggle freelance clients on the side too.

Can you imagine working on your business for more than 12 hours a day 7 days a week?

This is what I did during my first year of starting my business. In my second year, I’m looking at potentially even more hours. 60% of the time is spent making a living. 40% of the time is spent on developing new income streams.
The Problemeter: A sheet that helps startups solve the right problem
By: Marc Howard
Tags: Problemeter, Startup, Data Visualization, Data Analysis

“Fall in love with the problem not the solution, and the rest will follow.” That’s the advice from Uri Levine just before he sold his startup Waze to Google for $1.1 billion.

Is your startup building a solution looking for problem? How do you know that you’re solving the right problem?

An excellent primer on building a better mental model around solving for the problem and not leading with the solution is the thought-provoking talk by Y Combinator Partner, Kevin Hale during a very well conceived 26 min presentation.

Kevin’s advice is that the difference between a startup and a typical business is that a startup is built for rapid growth. Your main objective early on is to figure out what problem you are solving and if its worth solving.

But is the problem big enough for investors to care? Many investors (particularly VCs) don’t care if your problem isn’t grand enough to satisfy one or more of the following criteria:

1m+ users : Will your startup impact at least a million people?

: Will your startup impact at least a million people? Growing 20%+/year : In a market that is growing at least 20%/yr and showing that the problem is growing rapidly.

: In a market that is growing at least 20%/yr and showing that the problem is growing rapidly. Timely : People have this problem now and are actively trying to solve.

: People have this problem now and are actively trying to solve. $1b TAM : The problem is expensive to solve with at least a billion dollar Total Addressable Market (TAM).

: The problem is expensive to solve with at least a billion dollar Total Addressable Market (TAM). Law Changed : The problem now exists based on changes in law or regulation (think the Affordable Care Act and all the healthcare startups it inspired).

: The problem now exists based on changes in law or regulation (think the Affordable Care Act and all the healthcare startups it inspired). Hourly: Problem that people have or need to solve multiple times a day (think Slack or Facebook) that keeps users sticky and coming back constantly.

So how do you ensure that you are not simply creating a solution in search of a problem?

Based on this problem evaluation framework I’ve created a Google Sheet that takes the essence of this advice and lets you enter in a few bits of data about the problem that you are attempting to solve then gives you a score and visualization based on the magnitude of the problem in key areas:

Popularity: How many have the problem?

Growth: How fast is this problem growing?

Urgency: When is this problem relevant?

Cost: How expensive is this problem to solve?

Mandatory: Is it now necessary to solve (i.e. new law)

Frequency: Is this a problem that needs solving very often?
What is this Mantle You Speak Of?
By: Eric Pierce
Tags: Science Fiction, Themantle, Fantasy, Fiction, Writing

The Mantle is a fantasy story set long after an apocalyptic event has rendered the modern world unrecognizable, told episodically.

That just tells you what aisle to find it in; it doesn’t tell you what The Mantle actually is. The title itself is a bit of a clue — it is a story of passing things on, of legacies and heritage, of myth and legend. And, yes, on some level it is absolutely a story about people in cloaks (this is a fantasy story, after all). But it is other things, too:

it’s about the wonder of magic, the quickening of the heart, the tragedy of the lost;

it’s about mysterious, unknowable powers and the danger in meddling in things better left alone;

it’s about the mistakes of the old and the innocence of the young and how one becomes the other;

it’s about how we conspire to rise up against our own mortality;

it’s a little bit The Road, a dash of The First Law trilogy, a hint of The Kingkiller Chronicles, a smidge of Dungeons & Dragons;

it’s also a bit of an experiment to see how a long form story does on Medium in a serialized format.

From a Medium logistical point of view, The Mantle is also a publication. Aside from this introduction, the only things published here will be the story itself. Updates will be posted every Monday, Wednesday, and Friday.

If any of this sounds interesting, please follow The Mantle, join the newsletter, and tell your friends!

The first entry in the tale:
I can’t explain intuition
By: Jen Smat
Tags: Poetry On Medium, Intuition, Mantra, Poetry, Writing

but

I’ve sat

in the dark

and chanted a

mantra that rose

from the ground, wound

around my spine until I was

panting, writhing in a kaleidoscopic

dance of colors and I learned what no guru

could ever teach — advice is just one person’s

words knocking at the door and I stopped

accepting visitors after you left.

The walls of my house are

black except for these

words painted with

flashes of light:

write, write,

write.
Day Twenty-Four: My Journey to Zen
By: Joanne Reid
Tags: Mindfulness, Self-awareness, Habit Building, Self Improvement, To Do List

Day Twenty-Four: My Journey to Zen

I did it. I learned to roll with the waves.

Photo by Lavi Perchik on Unsplash

I had several plans for yesterday but suddenly there were surprise visitors. For once, I was able to just enjoy it. I was not fretting about a deadline or an undone task or some duty I felt that I just had to do at that moment.

My writing commitment had been done for the day. My to-do list, such as it was, was done. I had a couple of things to shuffle around. The day went so smoothly and I had so many laughs, I experienced one of the immense benefits of being mindful and in the moment.

The interesting change was that while there were visitors, I made brownies, cookies, pie pastry and set a large batch of bread which spent overnight in the fridge.

I don’t know which was more astounding to me — that I relaxed and enjoyed the day which entailed letting things go or that I got some things crossed off my mental to-do list. Having a work-life balance is essential to an overall mental and physical well-being.

As I wrapped up the day, feeling quite happy and energized, I thought about how things have been going on my journey to Zen. Maybe I am attacking too many habits all at once, I thought.

I have talked about getting away from negative people, disposing of unnecessary negative influences in my world, dealing with the clutter, setting a better morning routine. exercising, and a few other aspects of life. I talked about doing it slow in small increments.

Am I being contradictory?

No. Because in this journey to Zen, my focus has been on being mindful. Paying attention to my life as it happens reveals a great deal that needs to be noticed, considered, and dealt with.

Situations arise that used to give me panic moments. Dither, dither, and delay. What do I do about this situation? It would poison several days before, during, and after the events. By being mindful, I am learning to deal with the events as they happen and as events unfold.

I cannot express how freeing that is. I sleep better because the fret factor does not keep me awake. I am learning to ride the wave, roll with the punches — or as I like to call it, roll with the waves.

The wisdom is that it takes 21 days to change a habit. This is day 24, and I am getting more adept at being mindful. Conversations are better because I listen, engage, and ask questions rather than hide in my head wishing I were getting something on my to-do list done.

Speaking of a to-do list, my friend Terry said the best thing to start a to-do list is “make to-do list” so you can cross it off immediately and feel like you have accomplished something. He’s right.

I don’t write a to-do list like I used to. I have a reusable Rocket notepad and I scribble down things that need to be remembered. You know, buy eggs. Take out blue bags. Things that I need to remember but don’t need to waste brain power on remembering.

Paying attention to what is happening in the moment turns out to be one of the most productive steps I have ever taken.
Extracting deck archetypes using topic model and its application to game design
By: Ryo Adachi
Tags: Machine Learning, Data Science, Data Visualization, AI, Game Design

Extracting deck archetypes using topic model and its application to game design Ryo Adachi Follow Jan 21 · 10 min read

Introduction

Hello everyone! I recently worked on a project in which I applied machine learning (ML) methods to user data from a mobile game app to improve user experience. In the gaming industry, the application of AI/ML methods is trending in recent years and a number of companies and researchers around the world are working in this field (See GDC, IEEE CoG for such applications).

In the current project, I used user-constructed deck data from a mobile game called ‘Gyakuten Othellonia’ (You can check the overview of the game with this tutorial video). The game is based on the rule of Reversi (aka Othello) and two players battle against each other using their decks composed of characters having unique status (HP, ATK value etc.) and skills (or status effect such as buff/debuff etc.). Because of the skills associated with each card, players need to consider the effectiveness of the combination of cards to construct a deck rather than merely choosing strong cards in their possession to win a battle. Therefore, decks are constructed according to concepts (often called archetypes) as is often the case in other trading card games.

In this game, we have released a couple of in-game AI/ML applications such as AI-bot using deep learning and deck recommendation using association analysis (GDC presentation). We are also working on ML applications to support game planners (i.e. people who are responsible for adding new cards to the game and balancing the relationship between archetypes), and this is what this article is about.

For Japanese readers, please check this article written in Japanese as well!
I Just Realized I’m an Old Programmer
By: Ryan Nehring
Tags: Tech, Jobs, Development, Life, Programming

I Just Realized I’m an Old Programmer

And I’m not even 40…

Photo by Vlad Sargu on Unsplash.

Let’s be clear: I’m not old. At 38, I feel as young and capable as I ever have in my life — physically, mentally, or otherwise. Despite the fact that my kids call me old a dozen times before lunch each day, I still very much feel like the 23-year-old developer I once was. I still absolutely get excited about new tech and the growth of the web as a whole, but in my field, I am now viewed as an old man.

I’m lucky that I have a good job as a senior developer for a company that values me, and I know our code base inside and out. I’m able to quickly add features, diagnose problems, and respond to new requests with fast responses. Our code base, however, is based in the dated world of PHP/MySQL/JavaScript.

For our company, that’s not a problem. The truth is we don’t need an ultra-modern front-end framework connected to a NoSQL doc database for what we do. PHP/MySQL does an excellent job letting us accomplish all of the things we need day in and day out, and it plays nicely with all of the legacy apps that preceded me. I’ve always been a proponent of functional solutions over trendy tech, and I never feel pressured to “modernize” anything simply for the sake of modernization.

I work for an industrial manufacturing company. It’s viewed as an essential business, so luckily during this time of COVID-19, we’ve stayed afloat and my job has remained safe, but no one is immune. I’m a father of four with a mortgage, and it occurred to me that I needed to at least look around at what job listings were out there just in case my situation changed. The prospects were honestly a bit frightening. Here are a few things I learned about being an “old programmer.”
Putting AI in the Hands of Truckers
By: Opex Analytics
Tags: Business Strategy, Analytics, Apps, Artificial Intelligence, Transportation

Putting AI in the Hands of Truckers

by Michael Watson

“G etting AI into the hands of those on the frontlines can have a big impact.”

As companies build out their AI (Artificial Intelligence) capabilities, one of the exciting trends is to bring the algorithms close to the front lines and decision makers.

One great example of this is from Landstar System Inc. Landstar is a unique transportation firm. They are asset-light and work with a network of independent truck drivers. They call the drivers a BCO — Business Capacity Owner. The BCOs are completely independent businesses and decide for themselves what to haul, when to haul, and where to haul.

A recent press release discusses their new app for the BCO’s that puts the power of AI into their hands.

The app allows the BCOs to quickly find multi-leg, multi-week runs. The app works by having the driver simply enter their current origin, the final spot they want to end up, and how long they want to be hauling loads.

The AI behind the scenes* (exclusive Landstar technology called Landstar Maximizer®), then taps into the load board and suggests the best possible multi-leg loads to the BCO. The best possible loads can include options that bring the most possible revenue to the BCOs or that bring the best combination of revenue along with desired destinations.

Landstar has 9,600 BCOs on the road. The app, which rolled out just this year, has already seen 70% of Landstar’s BCOs download and use it.

The press release notes that the BCOs now spend less time searching through the load boards for good loads — this means more time for productive work. Also, because of the tool’s embedded AI, the loads that are now returned will meet the needs of the BCOs much better.

When organizations use AI to solve the right problems and put that AI into easy-to-use apps for those making decisions on the front line, you can have a big impact.

*Disclosure: My company, Opex Analytics, worked with Landstar on this technology.

This article was originally published on July 24, 2018 in Supply Chain Digest.

_________________________________________________________________

If you liked this blog post, check out more of our work, follow us on social media (Twitter, LinkedIn, and Facebook), or join us for our free monthly Academy webinars.
In Theory, we all Need sex
By: A Singular Story
Tags: Sexuality, Mental Health, Self, Relationships, Culture

All humans are sexual creatures.

If we weren’t, our species would have gone extinct long ago. And yet, many of us remain reluctant to accept sex as part of our shared humanness, a key component of our relationships and interactions.

Some of us have been conditioned to view sex as dirty and reprehensible, something we should endeavor not to want, think about, or even discuss.

As a result, we either go without, have bad sex, or do not trust ourselves to state our needs, preferences, or fantasies. We all have them but we pretend we don’t so as not to appear wanton or lewd, so as not to jeopardize the carefully curated exterior many of us present to the world.

This unwillingness to embrace our sexual selves creates myriad issues that can destroy lives.

Gay folks end up trapped in heterosexual relationships; trans folks end up trapped in a body that doesn’t fit; hetero folks end up trapped in lies.

With courage and communication, almost any situation is reversible. But not everyone will find it in themselves to accept their sexuality in all its complexity. Further, not everyone has the good fortune of living in an open-minded and supportive society. Or of having a partner with whom we’ve created a safe space conducive to the joint exploration of sexuality.

Although sex is never a solo pursuit, how many of us go it alone regardless of partnership status? How many of us hoard our desires for lack of a willing interlocutor? How many of us outsource our fantasies to strangers via specialized websites or by hiring a sex worker?

How many of us have resigned ourselves to a sexless existence in which the only relief we get comes in the form of erotica or porn, when we’re able to react to it at all?
How I Live (Well) On $20K A Year
By: Dan Ymas
Tags: Life Lessons, Personal Development, Life, Money, Writing

I was talking to some friends from New York recently, and they were complaining about how crazy expensive it is to live there.

They are three single guys sharing a two-bedroom apartment on the outskirts of the city, and between rent and going out for lunch and clubs and drinks and this and that, they were each spending around $40K a year.

I nodded along as they said this — they made every dollar they spent sound like an inevitable expense — but alarms were going off in my head. 40,000 dollars?!

So when I got off the call, I decided to check how much I had spent in 2019. This was fairly easy to do as I write down all my expenses in a spreadsheet at the end of each month — it was just a matter of adding up some numbers.

NOTE If you don’t track your monthly expenses you can still quickly see how much you spent in 2019 by downloading all your credit/debit card transactions onto a spreadsheet. Search “how to export transactions from <insert your bank’s name>” to see how to do it for your bank.

The result? $20,700.
How to kickstart your career as a developer
By: Aamish Ahmad Beg
Tags: Development, Learning, Software Development, Coding, Job Hunting

Being a developer is a fantastic opportunity. Not only do get to know about how the digital world operates and how stuff is made, how apps get deployed, how your Instagram feed is generated and how Amazon gets your orders, but you also exhibit the skills to work from absolutely anywhere and at anytime — on your terms, as you please.

It’s quite an exciting time to be a developer. With the myriad of tools available to us devs, the real-world applications that we can make on our own, and a volley of new technologies waiting to be explored and worked upon, there has never been an era where you can be school student shipping paradigm-shifting solutions to millions of people all around the globe. What’s more, we have so much to work upon, don’t feel excited about websites, how about making first-person shooters. Don’t feel like working on cloud mainframes, try machine learning, make an in-game self-driving car system or two. There’s a lot you can do with the development skillset, since most of the stuff you’ll learn in one discipline is easily transferable to any other domain within the development world.

While all this is true, most people don’t really seem to have an idea of how to go about learning to become a developer, and then the process of ‘getting into the industry’.

Most people don’t really have much idea as to where they should start.

That’s because this field evolves much faster than all other fields. Developers don’t learn skills and then sit on those skills for years, part of a developer’s job is to keep learning continually. This is what many people miss.

If you’re just starting out with development, I suggest you should check out some of these articles, then come back here when you’re ready for development and use this article to get going in the industry:

If you know how to code properly or have learnt most of the skills required for being developer, carry on with this article.
Don’t Set Goals, Set Experiments
By: Christian Pow
Tags: Self-awareness, Self, Education, Habit Building, Life Lessons

Everyone knows by now that there is a high statistical chance of failing their New Year’s resolutions.

There are 3 ways we can respond to this stat:

Convince ourselves that we’re different and aim to be a part of the 20% that do succeed. Take it to heart and omit New Year’s resolutions from our vocabulary. Take the time to figure out why, and find a better way to approach your own success.

If we follow route #3, a better way to put ourselves in the best position to succeed might be to set experiments instead of goals.

Matt D’Avella, a highly accomplished filmmaker with over 3 million YouTube subscribers, did exactly that in 2019: He did a 30-day habit experiment each month to see what worked and what didn’t. He assigned one habit to each month of the year and worked hard to do that one habit every day for 30 days. After each month he completely dropped that habit to focus on the next one.

One of the biggest reasons that people fail their resolutions is that they set goals that aren’t actually for themselves but are based on other people’s lives.

There’s so much advice out there and so many people telling us about the habits that have changed their lives, but these habits aren’t one-size-fits-all.
Improving Reading Focus by Dimming Online Distractions
By: Beeline Reader
Tags: Education, Focus, Accessibility, Productivity, Lifehacks

The Information Superhighway is Lined with Billboards — We’re Here to Help

Reading on the web is distracting. Not only are you bombarded by email dings, calendar reminders, and Slack notifications, the very website you’re reading is preventing you from focusing.

How? By surrounding the one thing you care about — the body text on the page — with a rotating cast of colorful icons, calling out to you:

SHARE THIS ARTICLE ON FACEBOOK, LINKEDIN, AND GOOGLE PLUS! Got a minute? PLAY SPIDER SOLITAIRE OR MAHJONGG ! And don’t forget to SUBSCRIBE TO OUR NEWS ALERT EMAIL LIST!

Focus Mode: Blinders for the Internet

We’re helping people focus while reading by literally dimming these online distractions. Here’s how it works:

Focus Mode dims the distractions that surround the article

You can customize the level of dimming from 1% to 100%

Whenever you move the mouse, the dimming disappears — so you can click on links or navigate the site (this is also why it’s better than using the “reader mode” offered in some browsers, which has to be deactivated before you can resume navigation)

You can deactivate Focus Mode for any websites that don’t work well with it

BeeLine Reader + Focus Mode: flipping the script to make websites more readable

Focus Mode is the latest addition to the BeeLine Reader Chrome extension, which people around the world use millions of times a week. The main function of BeeLine Reader is to enhance reading ease, speed, and focus by applying a line-wrapping color gradient to text (see demo below, if this is the first time you’ve heard of BeeLine).

With the addition of Focus Mode, we’re taking things one step further to improve website readability. Instead of making you focus on boring black text — which is the least visually interesting thing on the page — we format the web in a reader-centric way. We dim the distractions and apply our focus-enhancing color gradient to the body text, which makes it supremely easy to focus while reading.
AoGProTips: Synchronize animations with the Text-To-Speech
By: Mandy Chan
Tags: Voice Assistant, Developer, Actions On Google, Development, Google Home

When building smart display games for the Google Assistant using Interactive Canvas, you can add fun animations to create a fully immersive experience. Do you know you can synchronize your animations with audio, such as making a dinosaur open its mouth at the exact moment you play the roaring sound? In this blog post, you will learn how to use the SSML mark tag with the onTtsMark callback function to synchronize your animations with audio.

SSML stands for Speech Synthesis Markup Language. By using SSML, you can make your conversation’s responses sound more natural by adding breaks between words, and adjusting the speed, pitch and rate of a word. Look at the SSML example below.

<speak> The dinosaur is about to roar <mark name = ‘START_ROAR’><audio src=’roar.mp3’/><mark name =’STOP_ROAR’></speak>

In the SSML, the <mark> tag allows you to indicate during the generated TTS audio when the dinosaur should start and stop animating. It generates events during TTS; your code has a callback that gets triggered by each mark tag. Each mark event has a name. In this example, we have two events named “START_ROAR” and “STOP_ROAR”. You need to write code that can be triggered by each mark event. The code for the “START_ROAR” event can open the dinosaur’s mouth after the spoken prompt “The dinosaur is about to roar “ is complete. Similarly, the code for the “STOP_ROAR” event can close the dinosaur’s mouth.

Now that the mark tags are in place within the SSML, you can write the logic for each animation when the mark tag is hit. Keep in mind, the name of the mark tag must be unique within the SSML so that the onTtsMark callback responds to the correct cue. Let’s look at the code below.

You register a callback for onTtsMark. The onTtsMark() method receives the markName in the SSML, and depending on the name of the mark tag, triggers the corresponding logic which plays the animation of the dinosaur moving its mouth. For the ‘START_ROAR’ markName, it will call the beginRoaring function, whereas ‘STOP_ROARING’ will call the stopRoaring function to stop the animation.

Now that you have learned how to synchronize animations using the SSML mark tag and the onTtsMark callback, we hope you apply this tip in your next Action to create a fully immersive gaming experience for your users.

If you have a tip that you think other developers should know about, share your thoughts with us on Twitter using #AoGProTips. Lastly, check out our collection of other pro tips here.
Influencers in Your Backyard: Our Top 25 Based in Atlanta
Tags: Marketing, Digital Influencers, Influencers, Influencer Marketing, Atlanta

Julius is an influencer marketing platform leveraged by brand and agency marketers to connect with creators and manage campaigns.

Find more influencer marketing tips and best practices on our blog.
The Pressure of Perfection
Tags: Self Improvement, Self, Social Media, Perfection, Mental Health

I am willing to guess that at least once in your lifetime that you have been told that “practice makes perfect” or to “strive for perfection” or that your work’s “not perfect but…”. Well, I am here to clear up a myth as old as time — perfection does not exist! Practice in fact makes permanence and we should be striving for our best (which is different for everyone).

The definition of perfection has been created by society's expectation of how we should present ourselves and act. Take the media for example — we are presented with one ‘perfect’ body type which in most cases is completely unachievable, but it is what we have accepted in society as being a norm.

Social media bombards us with perfection every day. Whether it is ads for weight loss products or an ab machine to fit us in said ‘perfect’ body type. Maybe it is an idolization of the ‘perfect’ lifestyle. You know, the one where you own a mansion with 50 members of staff, unlimited money, and everything you can ever dream of. The people who have that are usually celebrities who dominate social media and make us feel bad about our lives. What we are doing is taking our whole life and comparing it to the highlights of those that we see on social media and idolizing how amazing their life is. But, I’m willing to guarantee you that their life isn’t ‘perfect’ and just like you and me they sit on the sofa crying into a tub of Ben and Jerry’s when life gets tough. And that’s okay — it’s a coping mechanism for your mental health, but it’s not something you’d share on social media because we’re led to believe that social media is only for the top-notch aspects of our lives.

Basically, there is a checklist that we have created as a society. Only post a picture on social media if it ticks the following boxes:

· Do I look happy? Yes.

· Do I look rich? Yes.

· Do I look like I’ve got my whole life sorted out? Yes.

· Am I crying or super emotional? No (don’t be silly).

· Am I discussing my mental health? Shhhhh.

The point is we are told what to post on social media which is why it is so toxic and filled with society’s version of ‘perfection’ which only makes us feel bad. We spent way too much time, energy, and money trying to match up to this unrealistic expectation.

So, I have created my own checklist for posting on social media, and it is quite simple:

· Do you want to share it on social media? Yes.

Simple, right? If you want to share it, then share it. Does it have to be ‘perfect’? Nope. It just has to make you feel good.

Why strive for perfection when you can channel all your energy and time into being authentic, unique, and just you.
Poetry in Motion
By: Tds Editors
Tags: Knowledge Graph, Science, The Daily Pick

Photo by Sergei Akulich on Unsplash

To make progress in AI, our models need to learn to cope with the messy real world

By Samuel Flender — 5 min read in Science
Vegan Chocolate Cake (and I Mean Chocolate!)
By: Eira Braun-Labossiere
Tags: Chocolate, Recipe, Vegan, Food, Dessert

We had just enjoyed a lovely dinner out with our friends. “Let’s save a few pennies. Come over for dessert!” we offered. I was looking forward to a longer visit but had a short blast of anxiety as I flipped through a mental Rolodex of my go-to dessert list. What could I make that was super quick but still possessed some decadence?

Store-bought or shortcut desserts are a rarity in our home. Desserts made from scratch just taste better to us and I think it’s because they are made with a particular standard in mind. You don’t want a facsimile of flavor, you want the real deal. Special preservatives to make that cake taste moist longer? How about we just bake and eat it right away so that it doesn’t have to stay moist for long?

Chocolate lovers, you understand when I say let’s have rich, sexy chocolate over gritty sugar, please! We want the cocoa to be the star in a chocolate dessert, yes?

In fact, I scoff at a recipe when it says “3 tablespoons of cocoa.” You’re kidding me. Is this a chocolate dessert or are we just adding cocoa for colour? Is this a cake the size of an Easy Bake Oven cake? Come on now!

According to the recipe we’re about to make: ¼ cup of cocoa, it states. Now we’re getting somewhere but I become philosophical as to whether this measurement is a statement or a suggestion. If I use my ¼ cup measuring device rounded to about a ⅓ cup size portion, does that work for you? It works for me!

However you like your chocolate level, this dessert is super duper Alice Cooper quick to make. So fast, in fact, that by the time our dinner friends knocked on our door I had the batter mixed and poured in the pan, ready to pop it in the oven.
The UpToken Burn Is Complete
Tags: Token Sale, ICO, Startup, Blockchain, Bitcoin

Another week, another exciting UpToken announcement!

Last week, we were able to share with you that industry-leading digital asset exchanges Bittrex, Upbit, and Bancor all added UpToken to their platforms. Moreover, the industry’s top token tracking sites such as CoinMarketCap, LiveCoinWatch, Bitgur added UpToken to their platforms.

While that is all incredibly exciting, we are even more excited to announce that on March 21st, our Senior Blockchain Engineer (and inventor of the Token Sale), J.R. Willett, completed a token burn. As detailed in the Terms of Sale, the team created 10,000,000,000 UpToken for the sale, with the intent of burning any unsold tokens. At approximately 9:14 am PT last Wednesday, we completed the token burn. You can see the transaction here.

As shown above, after the burning 9,815,362,000 tokens, the total global supply of UpToken was reduced to 184,638,000. Additionally, as promised in the whitepaper, we also moved 36,927,602 UpToken to the Coinme UpToken Vault. Per the terms of sale, the vaulted tokens will remain locked until we deploy 500 ATMS.

Therefore, the total circulating supply of UpToken after removing the amount in the Coinme UpToken Vault (as well as some tokens still to be distributed) sits at 136,471,746.

We are thrilled about the rest of 2018: with our next wave of crypto ATM deployments beginning in April, as well as some exciting updates to our wallet coming soon after, we know that 2018 is going to be a banner year for Coinme. Thank you so much for being on this journey with us!
Write for Memoirs from History
By: Fatim Hemraj
Tags: Submission, Writer, Call To Action, Publication, Writing

Write for Memoirs from History

Memoirs from History offers you a chance to write for our growing publication!

Photo by author

Hello and welcome!

Memoirs from History offers you a chance to write for our growing publication; where there’s always a story to tell.

We publish stories on the following topics: True Crime, History, Fiction and we’re pleased to announce a new category: BOOKS!

True Crime: We’re looking for non-fiction crime stories — stories that answer the 5 W’s: Who, What, When, Where and Why. And of course, we can’t forget ‘How.’ Stories that bring suspense and mystery to the reader — ones that we can’t peer our eyes away from, even if they make us scared to be home alone!

History: Anything and everything history related. This may be about an inspirational historical figure, or of a cool or unique invention. Stories that teach the reader something they may not know! It’s never too late to keep learning!

Fiction: We love fiction stories — they do not have to be crime-related. We don’t want to stifle writers’ inspiration, we want to share it.

Books: We’ve now added a Books section and I couldn’t be more excited! This can be anything from book reviews to a story of a novel that inspired you, or one you believe can teach us something unique and rewarding. Plus, who doesn’t love books!

Submission Guidelines

The submission guidelines for Memoirs from History are the same as any other publications— no plagiarism, no hate speech and no glorifying of violence. I have no problem with profanity but we’ll keep nudity at bay.

If you would like to submit your work to our growing publication, you can send me an email at fatimhwriting@gmail.com with your Medium handle. You do not need a draft prepared. Once you have been added as a writer (which should be done within 24 hours) you can submit drafts (unpublished pieces) via Medium.

To submit your work, click the three dots on the top right of the draft page, click “add to publication” and choose Memoirs from History. From here, you will be prompted to add five tags: Your submission must have one of the following tags: True crime, crime, history, fiction, or books. The remaining four are up to you!

There is still one more step — this is the part where some of us become confused. You must ensure you hit ‘publish’ one more time for the submission to fully go through.

Now you can sit back, relax, and wait for your story to be published. If edits are required, I will send you a private note. I will respond to all submissions within 48 hours.

My goal is to create a safe platform for writers to share their work, connect with others and gain valuable feedback. As of today, we have been alive for exactly one month and in our first month, we already hit 60,000 views! This could not have been possible without our talented and dedicated writers.

Thank you for considering to write for us — I look forward to reading your stories.
Dove
By: Tre L. Loadholt
Tags: Peace, Prose, Love, Life, Writing

Dove

Forever Moon

Courtesy of Redbubble/LordofMasks

There’s a desperation that pins me down, covering me with hands of mercy. I sit at the window, gawk at the mighty moon, and wonder, “Will I see you tonight?” In my dreams, I have come to know your ways, you are designed to wake me at all hours even when sleep should not be disturbed and I sink into the thought of you watching me trying to shake the past into the present.

I am Dove. You know me as flighty, shiftless, yet free. You could not love me the way I was made to be loved. You wanted a lie here. A moment of truth there. A reason to believe that I would not fly away from you too. I am Dove. My father named me. He saw me fall out of my mother with a wailing mouth, lungs furious enough to carry time, and blue-green eyes. One would soon turn gray.

Dove.

Dove.

Dove.

You caught me one day when my wing was broken. I had too many buildings in my view. Lost loves. Failed rebounds. Attempts at love from others who were still figuring out how to love themselves, and you bandaged me up — called me a “helpless soul,” and doted on my existence. Right now, this window gives me a great view of the moon and if I look hard enough, I can see your hands caressing it in a caring way. You are trying to heal it too.

But the moon does not need you. It will shine as it hangs up there in the desolate sky, yearning to show up each night. The moon will not wait for you. I will see it just as I do tonight, tomorrow too. I think... I know… This bugs you — the fact that I have more faith in the moon than I do in you.

I am Dove.

I owe you nothing.

Nothing more than what I have.

Nothing more than what you need.

The moon winks at me, it knows we, you and I, are parting. It knows we are through. However…

The moon and I are forever.
Stepping up: Image Classification using TensorFlow 2.x and TensorFlow Dataset
By: Jan Bollenbacher
Tags: Machine Learning, Python, TensorFlow, Neural Networks, Classification

In this tutorial, we will build a network to predict the class of an image. Therefore we use the tf_flowers dataset, which consists of 3,670 and 5 different classes. This tutorial builds upon a tutorial by TensorFlow.

This tutorial follows our well-known workflow:

Loading the data and preparing our datasets Define the model Training and evaluating the model

Loading the data and preparing our datasets

First, let's have a look at our dataset. We are using the tf_flowers dataset provided by the TensorFlow Dataset library (tfds).

We, therefore, load the dataset in our get_dataset() function using tfds. After that, we apply a preprocessing function on each sample in the dataset and generate a batch of size one.

In the main() function, we plot the first 9 images in the dataset. The result should be something like this:

The first 9 images in our dataset. As you can see, the three images in row three belong to the class dandelion. They differ very much from the dandelion in the second row.

There are a few problems in our dataset:

the different sizes of the images, the range of the pixels are from 0 to 255 (we prefer them between 0 and 1), and the encoding of the image labels.

To solve these problems, we apply a resize on the images, standardize them by dividing them by 255, and encode the labels using the one-hot() function. One-hot encoding means that instead of one scalar value, we represent our classes by vectors. Every row in the vector represents one class. We want to classify 5 classes, so label 4 becomes [0 0 0 1 0]. Also, we split the data into train and test data and shuffle them.

As you can see, we added parameters to specify batch size, image width, and image height.

This leaves us with the following output:

The pixels' value in the images is between 0 and 1, imshow() plots float values.

Define the Model

As in the tutorials before, we define our model as a class and inherit from tf.keras.Model. We define 3 Convolutional Layer, each with a Max Pooling Layer after that a Flatten Layer and a Dense Layer.

We combine and train the model using our trainer_cnn.py and main.py (see Appendix):

As you can see, the training and validation accuracy rises first. After a couple of epochs, the accuracy doesn’t rise anymore and starts decaying.

This effect is due to overfitting. Each epoch, the model learns using all available data points. After a few epochs, the model remembers the training data. We can augment our data to overcome this issue: we use our existing images and generate new images by zooming or rotating the images.

Therefore we apply augmentation and add a dropout layer to our model. Both layers are just active in training time:

After training, we get a much better validation accuracy, and both losses are dropping:
Understanding Machine Learning
By: Paras Patidar
Tags: Artificial Intelligence, Understanding Ml And Ai, Machine Learning, Codingurukul

What is Machine Learning?

Machine Learning is one of the fastest growing areas of computer science with, far-reaching applications. Basically, Machine Learning is a system that has the ability to automatically learn and improve from past experiences without being explicitly programmed.

When Do We Need Machine Learning?

When do we need machine learning rather than directly program our computers to carry out the task at hand? Two aspects of a given problem may call for the use of programs that learn and improve on the basis of their “experience”:

Tasks That Are Too Complex to Program

-> Tasks Performed by Animals/Humans:

Examples of such tasks include driving, speech recognition, and image understanding. In all of these tasks, state of the art machine learning programs, programs that “learn from their experience,” achieve quite satisfactory results, once exposed to sufficiently many training examples.

-> Tasks beyond Human Capabilities:

Another wide family of tasks that benefit from machine learning techniques is related to the analysis of very large and complex data sets: astronomical data, turning medical archives into medical knowledge, weather prediction, analysis of genomic data, Web search engines, and electronic commerce.

2. Adaptivity

One limiting feature of programmed tools is their rigidity — once the program has been written down and installed, it stays unchanged. However, many tasks change over time or from one user to another. Machine learning tools — programs whose behavior adapts to their input data — offer a solution to such issues; they are, by nature, adaptive to changes in the environment they interact with.

Types of Learning :

Supervised Learning

In the Supervised Learning, the training data includes both the Features(Inputs) and the Labels.

-> Regression

In Regression Problem, we are trying to predict result with the Continuous Output.

-> Classification

In Classification Problem, we are trying to predict result with the Discrete Output.

2. Unsupervised Learning

In the Unsupervised Learning, the training data includes the Features(Inputs) and not the Labels. Here, we do not tell the system where to go the system has to understand from the data given.

It is difficult to implement then supervised learning because we do not know the desired output and its difficult to train the model.

3. Reinforcement Learning

In Reinforcement Learning, the machine is trained to make specific decisions. The machine is being exposed in an outside environment where it trains itself continually using trial and error.

So Let’s get started with Machine Learning. Keep watching this and follow CodinGurukul for more tech articles or you can reach out to me for any doubt and suggestions and the next blog series will be published soon.

Visit: MLAIT - We Code For Better Tomorrow