fabiochiu/medium-articles huggingface dataset:
How to Use Embedding to Write Cleaner Code in Go?
By: Mohammad Aziz
Tags: Go, Golang, Embedding, Beginner

Abstract

Go is cleaner because it doesn’t support many of the features that tradition OO languages support. Less is more. Inheritance is one of those features but Go has a different style which can fulfil the necessity of inheritance. It’s called Embedding.

Table of content

What is embedding

How to create embedding

Embedding In Interface

Embedding In Struct

Conclusion

Reference

What is embedding

You can “borrow” the functionality of a struct or interface into another struct and interface respectively is called embedding. You can not embed an interface into a struct or vice versa.

How to create embedding

To create an embedding you need to put a different struct or interface into a different one without naming the field.

type Morning struct {

breakfast bool

} type Routine struct {

Morning // ⬅️ no field name makes it embedded

} type Director interface {

Direct()

} type Producer interface {

Produce()

} type Creator interface {

Director

Producer

}

Embedding In Interface

Interface when embedded is the union of all the methods present in all of the interfaces combined. If the method Eat() is present on an interface and Sleep() on another then embedding them into an interface with Repeat() the method will have all, Eat() , Sleep() , and Repeat() methods.

Embedding In Struct

Embedding in a struct is where you can see the real power of Go. Not only the fields that defined type has but also the methods you can access them directly. How cool is that! Let’s continue with our Routine struct.

type Morning struct {

breakfast bool

} func (m Morning) hasBreakfast() bool {

return m.breakfast

} type Routine struct {

Morning

} r := Routine{} r.hasBreakfast() // false

You also the embedded type will be a field name on the struct. For example, you can have:

type DailySports struct {

Jog // field name Jog

*Swim // field name Swim

sports.Cycling // field name Cycling

*sports.Tennis // field name Tennis

} func (d DailySports) enrolledBySwimming() bool {

return d.Swim.Speed

}

But you cannot have conflict while embedding. This makes sense otherwise you won’t know which one to pick.

struct {

*Swim // ⛔ Now allowed

*sports.Swim // ⛔ Not allowed

}

You can do all the things you can with the promoted fields but you can not use the field name present in the defined type while constructing the struct.

type Morning struct {

breakfast bool

} type Routine struct {

Morning

} r := Routine{breakfast: true} // ⛔ Not allowed

Conclusion

You can use embedding to use any defined type to used inside a struct and borrow all the functionality it has. You need to check that the names don’t clash otherwise you are good to go.

Reference
Insightful, thanks for sharing.
By: Lucas Costa
Tags: Goroutines, Go

How to Write Bug-Free Goroutines in Go (Golang)

178 3
Game Changer: Introduction to Procyon (Part 1)
By: Burak Köken
Tags: Web, Framework, Golang, Go, Web Development

Hello everyone :) I had talked about Procyon briefly in my previous story. Today, We’re gonna talk about it in detail.

I think that Procyon could be a game changer. You will understand better why I think this way soon. Keep following my articles :)

What is Procyon?

Procyon is an HTTP web framework written in Go, powered by fasthttp

and third-party libraries. If you need a comprehensive web framework, then I recommend you to use Procyon. Because it provides a lot of modules including several features.

It makes it easy to create production-grade applications.

It aims to ease to build, develop, and deploy your web applications quickly in Go.

Third-Party Libraries

We use some third-party libraries while developing Procyon. Here is the list we’ve used :

fasthttp , It is 10 times faster than the standard HTTP library.

It is 10 times faster than the standard HTTP library. jsoniter , It is used to encode and decode. It’s faster than the standard library.

, It is used to encode and decode. It’s faster than the standard library. logrus is a structured logger for Go, completely API compatible with the standard library logger.

Modules

There are several modules in the Procyon Framework :

procyon: It provides all features of Procyon.

It provides all features of Procyon. procyon-core: This provides core features and utilities for all modules.

This provides core features and utilities for all modules. procyon-configure: This includes and provides configurations that configure the application automatically.

This includes and provides configurations that configure the application automatically. procyon-context: This provides context for Procyon applications.

This provides context for Procyon applications. procyon-web: It provides web support for developing web applications.

It provides web support for developing web applications. procyon-peas: This allows us to manage our instances created in the Procyon application. Peas are very similar to Java Beans. They can be called Go Beans :)

How to use Procyon?

It is so easy to use Procyon Framework. The only thing you have to do is to add the Procyon module into your go.mod and import it into your code file as follows.

main.go

Next, You need to invoke the method procyon.NewProcyonApplication to create a Procyon application in the main function.

Following, invoke the method Run to run the application.

Eventually, your code snippet will look like the following. It is easy that much to have a simple Procyon application.

After running, you will see the following console.
GO “GOO”
By: Burak Köken
Tags: Golang, Go, Golang Tools, Golang Development, Reflection Api

Today, we’re going to talk about Goo. What is that? It is a reflection library written in Go. It aims to provide an abstraction for the built-in reflection library in Go.

I remember the time when I first used the built-in reflection library. It was hard to get used to using it. Most of the time, I was confused while using it. Moreover, I had many bugs. Therefore application crashed several times.

Finally, I was fed up with this situation and decided to develop a library making the reflection easier and providing an abstraction layer for the built-in library. In the beginning, I ran into some problems while developing it. That’s why it took a while. Eventually, I handled it and built a useful library.

Unlike the built-in reflection API, it is easier to use and understand. I think you don’t need documentation to use it :).

Let’s see how to use it.

The only thing you need to do is to import Goo and invoke the method goo.GetType. It’s that easy. :)

I’m going to create detailed documentation soon. I hope you have enjoyed it.

For more information, you can find the code on Github. And if you want to contribute to the library or find a bug, please report it.

Thanks for reading.
Golang Static File Server
By: Kevin Foo
Tags: Static, File Server, Go, Golang

The example below uses gorilla/mux package

package main



import (

"fmt"

"log"

"net/http"

"github.com/gorilla/mux"

)



func YourHandler(w http.ResponseWriter, r *http.Request) {

fmt.Fprintf(w, "Gorilla!

")

}



func UnauthorizedHandler(w http.ResponseWriter, r *http.Request) {

w.WriteHeader(401)

fmt.Fprintf(w, "401 Unauthorized

")

}



func NotFoundHandler(w http.ResponseWriter, r *http.Request) {

w.WriteHeader(404)

fmt.Fprintf(w, "404 Not Found

")

}



func main() {

r := mux.NewRouter()

r.HandleFunc("/", YourHandler)

d := "/static/"

r.HandleFunc(d, UnauthorizedHandler) // prevent directory listing

r.HandleFunc(d+"{filename:[a-zA-Z0-9]+}.gif", NotFoundHandler) // black list file type

r.PathPrefix(d).Handler(http.StripPrefix(d, http.FileServer(http.Dir("."+d))))

log.Fatal(http.ListenAndServe(":8000", r))

}

Save the codes above into a file, lets call it “fileserver.go”. In the same location create a directory named “static”. Run it by

go run fileserver.go

Place some jpg, gif or txt files into “static” folder. Lets say you placed a file named “helloworld.txt”. To browse it

http://localhost:8000/static/helloworld.txt

< Back to all the stories I had written
Single-binary Web Apps in Go and Vue — Part 2
By: Adam Presley
Tags: JavaScript, Go, Software Development, Vue, Development

Photo by Sigmund on Unsplash

This is part 2 in a four part series where we will demonstrate building a web application using Go and Vue, and finally bundle it all together in a single binary for super-easy deployment/distribution. Part 1 can be found here.

In the first part of this series we built the Go and Vue apps. The Go application is a simple HTTP server that has a single endpoint which returns the version of this application. The Vue app is the stock Vue CLI hello world, but we added code to pull the version from the Go API and display it on our page. In part 2 we will add code to the Go application to make our life easier by starting the Vue app alongside the Go application automagically by automating the running of Node!

However, since the intent of this series is to deploy a single binary we don’t want to have to rely on having to also deploy NodeJS. So, let’s code this to meet the following criteria.

When the server version is development, automatically start the Node server to run the Vue project When the server version is something else (like 1.0.0), don’t start Node. Instead just serve up the compile index.html and JavaScript files (which will eventually be embedded in our Go app in part 3 of this series)

Normally to start the Vue app using Node, we’d run npm run serve . However, when we run our Go app, we want that to happen automatically. Turns out that we can do that by using the os/exec package provided by the Go standard library.

In the above snippet we have a function which will start the Vue app using Node. The secret sauce here is to set the Dir attribute so the command runs in the context of our Vue app directory, which in part 1 we created as a subdirectory called app. The function itself returns a reference to the Command struct, which we will use in our main function.

Once the Vue app is running we’ll need a way to tell it to stop. To do this we’ll make use of Go’s context package. Let’s declare variable in our main function.

Now comes the fun part. Let’s fire up the Vue app when the version string is “development”. The below code will call our StartClientApp method, then wait until execution stops.

The final step is to to cancel the Node context when the application is ready to quit.

Now when you run the Go app using go run . not only will the Go application start the HTTP server, it will also fire up a new goroutine which runs the Vue app using Node!

And that’s it! The full, updated main.go is shown below. Happy coding!

Stay tuned for part 3 where we compile the Vue app and bundle it into our compiled Go binary!
Golang parameter validation: drawbacks of go-playground/validator and its replacement checker
Tags: Go, Golang, Validation

Easy for checker, hard for validator

The main drawback of validator is, validation rule is attached to fields in struct via tag, which is intrusive, and hard to read the validation logic.

validation sturct of third party

package thrid_party type Param struct{

Age `validate:"min=18,max=80"`

}

In user’s package, try to change min to 20, validator can not change the validation rule, as we cannot change the struct layout outside our packages.

package main func validate(p thrid_party.Param)(isValid bool){

....

}

If use checker , the rule is simpler:

rule := checker.NewRangeRuleInt("Age", 20, 80)

checker.Add(rule, "invlaid age")

Because validation rule of checker is decoupled from struct, which makes changes validation rule easy.

validate the length of linkedlist

The example is here.

type list struct {

Name *string

Next *list `validate:"nonzero"`

}

To validate the length of linkedlist, requiring the first node’s Next cannot be nil. validator cannot do this, for the same tag is attached to the same field.

If use checker ，

name := "list"

node1 := list{Name: &name, Next: nil}

lists := list{Name: &name, Next: &node1} listChecker := checker.NewChecker()

nameRule := checker.NewLengthRule("Next.Name", 1, 20)

listChecker.Add(nameRule, "invalid info name")
The simplest way to write Dockerfile!
By: Kevin Wan
Tags: Dockerfiles, Go, Docker

1. choose a simple linux image

For example alpine , it's only about 5MB.

2. set timezone if necessary

RUN apk add --no-cache tzdata

ENV TZ America/New_York

3. multi-stage build

the first stage to build the binary, ensure the binary is dev box independent

use the binary in the first stage to build the final image

4. the simplest way to write Dockerfile

first of all, install the tool goctl

GO111MODULE=on go get -u github.com/tal-tech/go-zero/tools/goctl

in project greet , create a service called hello

goctl api new hello

file structure listed below:

greet

├── go.mod

├── go.sum

└── service

└── hello

├── etc

│ └── hello-api.yaml

├── hello.api

├── hello.go

└── internal

├── config

│ └── config.go

├── handler

│ ├── hellohandler.go

│ └── routes.go

├── logic

│ └── hellologic.go

├── svc

│ └── servicecontext.go

└── types

└── types.go

in dir hello , one shot to generate Dockerfile

goctl docker -go hello.go

the content of Dockerfile like:

FROM golang:alpine AS builder



LABEL stage=gobuilder



ENV CGO_ENABLED 0

ENV GOOS linux



WORKDIR /build/zero



ADD go.mod .

ADD go.sum .

RUN go mod download

COPY . .

COPY service/hello/etc /app/etc

RUN go build -ldflags="-s -w" -o /app/hello service/hello/hello.go





FROM alpine



RUN apk update --no-cache

RUN apk add --no-cache ca-certificates

RUN apk add --no-cache tzdata

ENV TZ America/New_York



WORKDIR /app

COPY --from=builder /app/hello /app/hello

COPY --from=builder /app/etc /app/etc



CMD ["./hello", "-f", "etc/hello-api.yaml"]

in dir greet , build the final image

docker build -t hello:v1 -f service/hello/Dockerfile .

check the image

hello v1 5455f2eaea6b 7 minutes ago 18.1MB

the image size is like 18MB.

start the service

docker run --rm -it -p 8888:8888 hello:v1

test the service

$ curl -i http://localhost:8888/from/you

HTTP/1.1 200 OK

Content-Type: application/json

Date: Thu, 10 Dec 2020 06:03:02 GMT

Content-Length: 14



{"message":""}

5. conclusion

goctl greatly simplifies the writing of Dockerfile . The generated Dockerfile is state-of-art and can be used directly. Also, you can customized the Dockerfile template in $HOME/.goctl/docker if necessary.

If it helps, welcome to star the project. 🤝

6. go-zero

https://github.com/tal-tech/go-zero/blob/master/readme-en.md
Learning Go
By: Sher Chowdhury
Tags: Go Tutorial, Go, Golang, Golang Tutorial

Renee French, CC BY 3.0 <https://creativecommons.org/licenses/by/3.0>, via Wikimedia Commons

This is a series of post covering various Go topics:
Go Functions (Part 2) — Storing functions inside variables
By: Sher Chowdhury
Tags: Programming, Go, Golang, Golang Tutorial

This is a bit of a trivial example, where we didn’t like the function name “add2NumbersTogether”, and we used the functions-in-variables technique to create an alias for it called, “add”.

Function Signatures

In a lot of programming languages, variables belong to a particular “data type” (e.g. strings, integers,…etc). However, in Go, a variable can store more than just the traditional data types. That’s why we refrain from using the “data type” terminology and instead opt for the broader term, “type”. When it comes to storing functions in variables, it’s important to keep in mind of the following:

When a variable stores a function, then its type is defined as a function with a specific function signature.

The function signature refers to the function’s combination of input+output parameters. This function signature is treated like it’s very own type. That mean’s we can declare a variable with a function-based type, like in the following example. This is the same last example but we’ve now declared the variable first (line 14):

Updating function-type Variables

We can update regular variables from one value to another using the assignment operator, = , as long as the values are of the same type. The same is also true for function type variables.

Here the variable, formula, initially stores the function, addition (line 19), and then we replaced the function with a different, multiplication (line 25).

This only works as-long-as the new function has a matching function signature since the function signature is part of the type specification (line 21).

Saving Anonymous Functions to Variables

Anonymous Functions are often saved to variables. I’ve written an article about Anonymous Functions already so I won’t go into too much detail here. But here’s a brief of this in action:

Passing functions into other functions

Since variables are used for passing arguments into functions, it means that we can pass a whole function into another function!!! Here’s an example:

Line 12: This complicated-looking line says that this function has 3 input parameters and no output parameters, the first parameter is named as “calculation” and accepts a function of the type func(int, int) int . The “addition” function (line 7) has a matching function signature.

Line 19: We pass in a function in the form of the “add” variable into the formula function.
Functions in Go
By: Sher Chowdhury
Tags: Go Functions, Go, Golang, Golang Functions

This is a series of posts that covers the various aspects of Go Functions:

This article is part of the wider Learning Go series
Convert Chromosome Accession using mutalyzer
By: Donald Le
Tags: Csv, Bioinformatics, Go, Programming, Mutation

Bioinformatics

Convert Chromosome Accession using mutalyzer

Photo by Łukasz Rawa on Unsplash

Currently when we need to search for clinical data in Clinvar at NCBI, we have to search by format like “NC_000005.10:g.25502166_25502169dup”. To convert from chromosome name like “chr1” to “NC_000001.11”, we can use mutalyzer API.

Details for the API documentation can be found in here.

Below is the code demonstration to convert in Go:

Running this will format the chromosome value like

chr1,NC_000001.11

chr2,NC_000002.12

chr3,NC_000003.12

chr4,NC_000004.12

chr5,NC_000005.10

chr6,NC_000006.12

chr7,NC_000007.14

chr8,NC_000008.11

chr9,NC_000009.12

chr10,NC_000010.11

chr11,NC_000011.10

chr12,NC_000012.12

chr13,NC_000013.11

chr14,NC_000014.9

chr15,NC_000015.10

chr16,NC_000016.10

chr17,NC_000017.11

chr18,NC_000018.10

chr19,NC_000019.10

chr20,NC_000020.11

chr21,NC_000021.9

chr22,NC_000022.11

Hope it helps!!!

PEACE~~
Go Context Explained
By: Sundara Senthil
Tags: Go, Context

Written by Sundara Senthil and Edited by Angelica Hill

Welcome everyone to my first technical blog!

This blog has been written for beginners to Go Lang and the use of Context Packages in Go. However, I hope it will be of interest to Gophers of all levels

This blog will go through what context is, why it’s used, as well as going through a few examples of how the Context package can be used in Go. I will then give you an outline of the Rules of Use, before summarizing.

What is Context?

If your main task is to make a shirt, first you need to complete a few sub-tasks, such as buying the material, thread, buying buttons, as well as designing what you want your shirt to look like. Not until all these sub-tasks are complete can you start on the main task, to construct the shirt. …
Calling GraphQL API in Go
By: Donald Le
Tags: Go, Software, GraphQL, Programming, API

GO

Calling GraphQL API in Go

A graphql query convert to json will be like this:

{"query":"query ($filter: JSON) { subject (accessibility: all, offset: 0, first: 20, filter: $filter) { submitter_id variant_count gene_count gender ethnicity age bmi is_tobacco_smoking cigarettes_per_day is_alcohol_drinking type_of_alcohol_used beer_drinks_per_week alcohol_drinks_per_week original_area sample_collection_area total_files } }",{"variables":{"filter":{"AND":[{"IN":{"bmi_range":["normal"]}}]}}}

We can see the converted json by browser developer tool:

Then we can easily use http library in Go:

Example function call

Hope it helps!!

PEACE!
Generate combinations from array in Go
By: Donald Le
Tags: Go, Software, Combination, Programming, Generator

Go

Generate combinations from array in Go

Sometimes we need to generate combinations from arrays of strings to do some data manipulation. There is existing library in Go could help us do that.

Running this will show

[normal]

[overweight]

[normal overweight]

[obese]

[normal obese]

[overweight obese]

[normal overweight obese]

[underweight]

[normal underweight]

[overweight underweight]

[normal overweight underweight]

[obese underweight]

[normal obese underweight]

[overweight obese underweight]

[normal overweight obese underweight]

~~Hope it helps~~.

PEACE!!
[Golang]go-pg raw query examples
By: Jason Choi
Tags: Go Pg, Go

Official document is not too kind

I prefer raw queries to orm-based queries, but there is a sure advantage in using orm-based query, especially when inserting, updating, and deleting: Easy to read the code.

But, I still think it’s not a good idea to use orm-based queries when selecting, because it sends requests too many times when using ‘JOIN’. I use graphql to communicate with client, and if I use orm-based query, the ‘N+1’ problem will arise-which will not happen if I use raw query.

So, I will introduce orm-based queries on CUD/Mutation, and raw queries on CRUD of go-pg.

You can refer here for official examples, but it’s not kind on raw queries. That’s why I am writing this article.

QueryOne: Returns one row(JSON in Javascript)

var user model.User userQuery := ‘select * from users where id = ? and name = ?

order by created_at desc limit 1’ userID := ‘some_user_ID’ userName := ‘some_user_name’ _, err := pgdb.DB().QueryOne(&user, userQuery, userID, userName)

The type of first variable (_) beside err is orm.Result, and it returns the number of returned rows. If you don’t use it for purpose, it’s better to let it be _.

You can think of raw query as ‘overwriting data to existing memory address(pointer)’.

So, you should declare user first before using the query.

QueryOne writes data to the address of user — &user, the first argument.

The data to overwrite comes from query — userQuery, the second argument.

Missing arguments of queries come next. There seems to be the way to use struct and named argument for raw queries, but I haven’t checked it yet, so I will not discuss it here.

Query: Returns array/slice

var users []model.User usersQuery := ‘select * from users where name = ? and age = ?’ userName := ‘some_user_name’ userAge := some_user_age _, err := pgdb.DB().Query(&users, usersQuery, userName, userAge)

Other things are equal to QueryOne. The returned forms are different.

For more information on go-pg, you can refer to here: I decided to use go-pg other than gorm after reading this article.
How to Handle Missing Fields From A Struct in Go?
By: Mohammad Aziz
Tags: Go, Golang, Beginner

How to Handle Missing Fields From A Struct in Go?

Photo by Erwan Hesry on Unsplash

Suppose you have a variable of the type of the struct mentioned below which you wanted to Unmarshal .

type Building struct {

WindowCount int `json:"window_count"`

Doors int `json:"doors"`

}

In case the data is coming from an unreliable source, you can never be sure that the value you will receive will always have the correct format. You have to be cautious when working around data like this. If you are new in Go you might be wondering what will happen you Unmarshal and incorrect value?

Compiler Loves Zero Values

If you unmarshal the code into a variable you will get the zero value for the fields WindowCount , and Doors . Which in some case can lead to bug because you might have different logic for missing case.

var b Building

json.Unmarshal([]byte(""), &b) fmt.Printf("%+v

", b)

// Output:

// {WindowCount:0 Doors:0}

Pointer To Rescue 🦸

If you have worked with pointers in languages like C, C++ you might have some opinion. You either like it or you hate it. Most people fall into the latter group. Working with pointers in Golang is fun because things are declarative comparatively.

If you set the field type to a pointer of that type it will be nil in case the field is missing

type Building struct {

WindowCount *int `json:"window_count"` Doors *int `json:"doors"`}

Unmarshalling it has the following effect:

var b Building

json.Unmarshal([]byte(`{"window_count": 2}`), &b)

fmt.Printf("%+v

", b)

// Output:

// {WindowCount:0xc000016170 Doors:<nil>}

The WindowCount holds the pointer to an integer which holds the value 2. Whereas since doors is missing from the JSON string it will set to nil thanks to the zero value of pointers. You can now write your logic in case of the absence of that value.

Conclusion
Golang Read HTTP Header
By: Kevin Foo
Tags: Http Headers, Read, Go, Golang

The example below uses gorilla/mux package

package main



import (

"fmt"

"log"

"net/http"

"github.com/gorilla/mux"

)



func YourHandler(w http.ResponseWriter, r *http.Request) {

for i,v := range r.Header {

fmt.Println(i, v)

}

fmt.Fprintf(w, r.Header.Get("User-Agent"))

}



func main() {

r := mux.NewRouter()

r.HandleFunc("/", YourHandler)

log.Fatal(http.ListenAndServe(":8000", r))

}

With the codes above, try browsing it with this URL with your browser

http://localhost:8000

Your web server console will print all the HTTP headers, similar like the screenshot below.

Web browser will show the user agent.

< Back to all the stories I had written
Thank you!
By: Christopher Kokoski
Tags: Poem, Connection, Time

Very interesting read! I saw this at a suitable moment. I wrote a poem about time last night, so the perception of time has been on my mind.
Bitcoin Tops $27K for First Time, Has Risen $2K in a Little Over 24 Hours
By: Herald Jonesa
Tags: Risen, Time, Hours, 27k, Bitcoin

Bitcoin Tops $27K for First Time, Has Risen $2K in a Little Over 24 Hours

The cost of bitcoin (BTC) passed $27,000 as the leading cryptocurrency’s current speedy increase proceeds. https://www.bitcoinprofit.app/news/bitcoin-tops-27k-for-first-time-has-risen-2k-in-a-little-over-24-hours/?feed_id=416&_unique_id=5fe833dc1984e
The Next Time you feel like giving up
Tags: Time, Reflections, Children, Pandemic, Life

“Children understand and remember concepts best when they learn from direct personal experience.” -Joseph Cornell

“Keep moving, boy. Hey, we are getting there already. Look.”

“No, I cannot do this,” came the almost immediate reply from this little boy. Defeated, he stopped in his lane and avoided eye contact with his father by looking at the floor, playing with his fingers nervously.

The father and son duo caught my eye in the park.

The little boy seemed tired from his ride, and was yearning for a pitstop. He pulled off his mask. He needed a break, even though they seem not far off from their destination.

The father said to his son,”The next time you feel like giving up… try not to look at how far you are away from where you wanted to be; look at how far you have come. Look up and enjoy the beautiful view. Look here, boy.”

He carefully asked the little boy to look up and enjoy the scenic view right in front of him. He didn’t want his child to miss the views in this journey, which they embarked on together.

“As long as you don’t stop moving, you will get somewhere. It will take some time.”

He softened his tone a little and continued, “So rest if you must, but don’t ever give up. Take a break if you’re tired. But trudge on, little by little. “

“Look up and enjoy… Take a break… We will get there…” and without skipping a beat or any further prompt, the little boy continued, “Slowly.”

—

Yes indeed. Sometimes, things will take a lot longer than you might have wanted it to happen or be there… But it will happen, as long as you keep moving forward.

2020; a year of pandemic — discovery, growth and reflections.
What Is It Like To Get Covid-19?
By: Shakthi
Tags: Time, Covid 19, Tips, Life, Self

Coming to terms

Perhaps the most jarring part of it all is to come to terms with what just occurred. Often, it comes as a blow that you never on any occasion thought would happen. You hear it on the news, you hear it in the gossip from your community. But you, how could you have such a distinct thing? For a long time, it is hard to come to terms with the new rules you need to follow, also for many people getting used to living with a life or death situation is unusual.

It goes unnoticed that many times, people are convinced that they don’t have Covid-19 because that is how non-severe the symptoms can be sometimes. In our case, we are fortunate enough to be considered a part of the group with non-severe cases. But regardless of severity, the most important and first step is to come to terms with what is happening, and what needs to happen next.

Without this extremely crucial step, a lot of things could go wrong, starting from mindset. There is no going back from here, the only way is forward, and if you choose, you can just consider this time an event in your life.

Many times, we choose the opposite without even knowing, but fighting for something like life will unquestionably give anyone a new perspective. Even if you are not physically fighting for it, there is always a mental thought equivalent to it that needs to be fought.
Odds Of Even
By: Anupama A Prakash
Tags: Time, Poem, World, Life, Poetry

Odds Of Even

Photo by Jose Ibarra on Unsplash

A lovely curve

With endless happiness

That’s pure and divine

Spreads like sunshine

When she smiles.

It is that smile

That puts all my doubts

At rest, forever.

I wonder if I am a seaweed

Floating in a sea

Full of fantasy.

Her smile empties my soul

Each time when I get struck

In that heaven time.

Maybe I am in a deep time traveling

And all I need to whisper is

Your smile is my life.
Why A Growth Mindset is Critical to Success
By: Matthew Royse
Tags: Time, Success, Growth, Mental Health, Mindset

Why A Growth Mindset is Critical to Success

Photo by Pixabay from Pexels

26.2 miles. That’s the length of a marathon. It’s a long way. I know. I have run two marathons and many half marathons.

To run a marathon, you need a growth mindset.

You don’t have to be a marathon runner like me to have the right mindset.

A growth mindset is focused on what it takes to be successful. When you have a growth mindset, you prioritize learning over failure and you are unafraid to take risks. When you have a growth mindset, you view failure as an opportunity to improve yourself and your outlook on life.

To be successful in life, a growth mindset that’s enduring is critical. The definition of endurance is to put up with something trying or painful. Life is difficult, painful, and hard, so you need to have the right perspective to overcome life’s setbacks.

How you continue on despite trials and tribulations will determine how far you go in life. Your mindset is key. It’s important to approach every situation as an opportunity to become better and more prepared.
Before It’s Too Late
By: Josh, Υя_Ωιѕємαη
Tags: Time, Life Lessons, Poem, Life, Poetry

Fancy some adventure before it’s too late

Before the habit and before the last reminder

Move faster and invent the future, make them worth experiencing

Before hoping for a wind of freedom and luck, get ahead of life, avoid boredom.

To lend our lives to anyone, praying to fortune to deprive us of the worst.

After us, the deluge getting ready to smile at us, after all the present and the future.

Before giving up and losing hope, before surrendering, before I try to get another chance

Enjoy life and nature, enjoy what it has to offer and let your heart be more lively.

Fancy some adventure before it’s too late before the habit before the last reminder

Move faster, invent your life and make it beautiful, to lend our lives to anyone Praying to fortune to deprive us of the worst.

After us, the deluge getting ready to smile at us, after all the present and the future.
Money or Time?
By: Lee Jing Jenn
Tags: Time, Money, Time Freedom, Financial Freedom, Time Value

Money or Time?

Which one do you think is more important in your life? How do you weigh them on your very own balance scale? Please decide before reading any further. Lee Jing Jenn Follow Dec 26, 2020 · 6 min read

Photo by Heather Zabriskie on Unsplash

There is one saying, if you can solve any problems using money, never use your time. Do you agree? I bet most of us will say yes, of course! But here is the reality, most of us are not born wealthy nor own enough money yet. If you are rich, of course, that is a totally different story, to begin with. Let us face this, most of us will be aiming to save and accumulate our money instead of spending money to solve many of our problems purely because of the state of reality we are in.

I always think that time is more valuable than money purely because time represents life and it is irreversible, whereas money is a reproducible resource. What if we are still considered relatively young, and time is on our side? Will you focus on making and accumulating more money? Or will you spend more quality time doing things that you love but none of them is about making more money? After all, you only live once, so which will you choose?

Some of us may argue that it very much depends on which stage of our current life is. To put this into perspective, let say if we are in our twenties to forties, working hard to make a living, either employed or owned businesses. This is a pretty common scenario in most of our life right now. In this case, do you agree that having more money means having more freedom in life? In another word, we can spend more time accompanying families, kids, or even doing things that we love like traveling, etc without worry. Spending our youth to accumulate enough wealth to enjoy when we get older and less productive seems to be the way to go.

Wait a minute, but how much wealth do you think is enough? Let us imagine this for a moment, if we spend most of our time accumulating enough wealth into our forties and fifties, just to enjoy after, what do you think will possibly happen? Perhaps, your children will say, sorry dad or mum, I do not need your companion anymore, I can fly on my own. Maybe you wanted to pursue your passion, but your passion is long gone when you grow older due to the accumulated fatigue, or maybe you are already burnt out after working hard for so many years and you just want to rest. Therefore, what is the deciding factor of having enough wealth? Is it our age, our health, or the number in our bank account?
Bitcoin Hits $25K for First Time Ever
By: Herald Jonesa
Tags: 25k, Hits, Time, Bitcoin

Bitcoin Hits $25K for First Time Ever

The occasion occurred simply a week after the leading cryptocurrency damaged $24k. https://www.bitcoinprofit.app/news/bitcoin-hits-25k-for-first-time-ever-2/?feed_id=328&_unique_id=5fe6cbdee4207
Dating Coach Certification
Tags: Dating, Time, First Post, Relationships, Love

Find the right !

A Free Online Webinar From The International Dating And Relationship Institute.

click below for more details

https://in.pinterest.com/shaileshzala/
Giving Time To Your Family And Loved Ones.
Tags: Time, Problems, Family, Love, Parents

Its important that your bond with family is healthy. your family will be healthy if you give it time. family times create your bonds healthy

In recent times the value of spending time with your family has become zero. it is very necessary to spend time with your family and sharing your things to your family. sharing things to your family keeps your mind in peace that there is someone who is or who will be by your side no matter what happens to you.

I personally feels that spending time with your family is very neccesary for your personal growth it teaches you a lot of thing like how to behave in front of people or what are our principles. it also show us paths to choose.

The reason why todays generation is not spending time with their family is that they don’t consider this important but believe me this is the most important thing to do in this era. no matter what happens but spend atleast 30 minutes with your family. moreover todays generation does not value these things because they feel that spending time with your family or sharing their problems to your family will lead them to some kinds of restrictions or some sort of strictness but no when you share your problems with your family they will guide you to the right instead of restricting you they will just suggest you what is right or what is wrong. and that will help you in so many ways.

When you spend your time with your family your parents will also understand you they will also show their concern towards you. Thats all what you need in this life the love your family shows toward you is priceless and that feeling is irreplacable.
What Will Smith Taught Me About Time, Love, and Death in 2020.
By: Makahla Jackson
Tags: Time, 2020, Will Smith, Love, Collateral Beauty

My life is surprisingly more chaotic than I’d like to admit. The early onset of age-spots, stretch marks, and sporadic grey hairs where baby hair caressed my forehead. Aging is no longer an irrational fear that I learned to envy. This phenomenon prompts me to question the validity of my experiences. Do I lack the understanding of time due to my inexperience? Thankfully, wisdom has been bestowed upon me by my elders, who’ve taught me a thing or two about life, love, and suffering.

About a couple of weeks ago, I sifted through all my subscription services searching for a movie, preferably one I had previously seen. I was in a bit of a low place mentally, and I needed a film to diminish the intricately woven anxiety that annually presents itself when I least expect it. I craved a visually captivating film that would grant me the emotional release needed, though easy to follow through my hazy eyes and constant distractions. I settled with the 2016 film Collateral Beauty. Though with this re-watching, I felt differently about the film entirely. The sensory cortex of my brain activated the missing link to my consistent outlook on reality. With only twenty minutes into the movie, I noticed a recurring theme; time is the fabric of everything.

Parallel to Will Smith’s character, I’m not a fan of the unnecessary niceties in conversation, especially when dealing with a catastrophic loss or illness of some sort. The phrase “things get better with time” always prompts me to question the phrase’s validity. Though I can be a bit pessimistic when envisioning the future, equating a trauma of any kind alongside a linear healing model can cause irreversible damage. We are all striving for normalcy, whatever that may be. But what do we do when trauma begins working itself deeper into our working memory? For example, forcing newly diagnosed patients and families who’ve recently lost a loved one into a generic idea of happiness is quite demeaning. Living vicariously through others while dealing with unresolved trauma can cause the evolution of one’s journey to stop completely. Undoubtedly ignoring the task granted to us will transform our expanding relationship with time. Slowly resting in the unknown, finding healthy coping mechanisms, and reminding ourselves that the addition of love and loss is a natural occurrence; One that can not be extinguished by the slow burn of time itself.

In an ideal world, folks would be less resistant to vulnerability and more understanding of time’s ploy to awake the sleeping giant within us. The world’s fate relies heavily on the human population because without our contribution, how can time free us from ourselves? Our thoughts and emotions tether us to our past selves. But as time progresses, as will we. So if you haven’t watched Collateral beauty, I advise you to watch and see what it reveals to you. Time, love, and death may very well await you in the next room, but don’t allow your reservations about time hinder you from the life granted to you.
Exactly, every time I have tried to make a living out of my interests, I considered it as a burden and stopped enjoying it. I like cooking yet I will hate being a chef. I love painting but I will…
By: Umme Salma
Tags: Writing, Time, Money, Hobby

Exactly, every time I have tried to make a living out of my interests, I considered it as a burden and stopped enjoying it. I like cooking yet I will hate being a chef. I love painting but I will hate to be in art business. Time constraints and greed for money out of hobbies often backfire .
Waiting for Kali
By: Geeta Kuttiparambil
Tags: Time, Revenge, Age Of Kali, Revolution, Poetry

Stories told through distorted mirrors

a hydra of elevated untruths

at the next bend lies the precipice

eternal destruction is foretold

and therein lies the rescue

in the formless fury of disruption and restoration

the cycle of everchanging time

she rides ferociously

as the
16 Quotes To Remember During Tough Times
By: Vincent Mukhuba
Tags: Self Improvement, Time, Personal Development

Photo by visuals on Unsplash

These quotes will help you during difficult times:

1. We’re all gonna die anyhow.

2. If I can walk past the tough times, everything else will be a cakewalk.

3. Fear is false expectations appearing real.

4. Tough times don’t last, tough people do.

5. It’s not what happens to you in life but how you interpret it.

6. Why think like mortals in all that you fear and like Immortals in all that you desire?

7. Tell yourself to stop being a coward and move forward with courage.

8. Forget the risk and take the fall. If it’s what you want then it’s worth it all.

Photo by Isaac Quesada on Unsplash

9. Life is not fair. But I will still take what I want despite all odds.

10. To be unstoppable, never stop.

11. Trust yourself and love yourself first.

12. You have inner strengths and powers you haven’t yet tapped into.

13. Tough times shall make you stronger and more powerful.

14. Embrace failure for it teaches you a lot and it means you tried.

15. Either I’ll find a way or I’ll make one.

16. Deep down inside, everyone is a warrior. Seek his counsel and prepare yourself for war.

Photo by Bruce Warrington on Unsplash

Life doesn’t change when you are comfortable.

MERRY CHRISTMAS
It’s About Time
By: Naomi Matlow
Tags: Time, Mindfulness, Poetry

Boston Public Garden, December 2020

We’re not making up for lost time,

this time,

because there is no time.

One day it was January,

and then it was

“how are we going to live through this?” time.

It was April,

and then it was

“how can the buds still break into flowers?” time.

Then it was June,

for some a reminder that the sun can shine longer

than the darkness of the night time.

But time doesn’t wait,

because time has always been

what we make.

Time means what we say

when we decide to say it.

And I say:

The woods don’t care for July.

September never could converse with the stars.

And November waits for no one.

We can’t run out of something

that was never bought or traded.

We can’t wallow at what feels lost

if it was never ours to own or hold.

December is cold

and that’s all there is to it.

What if nothing is lost

and it’s all still here.

Not all the time,

but always.

In all ways

that cannot be measured,

bought,

or held.
Time
By: Liva Markvard Hansen
Tags: Feelings, Time, Love

Time is making me sick. It feels like it is pulling me into a parallel univers. And I cannot let go of the thought, that whatever we do to capture the greatest moments of our lives, they will never really last. The pictures we take die. They do not disappear, but their meaning does, their true potential. The certain feelings we felt in that exact moment are dead from the moment we move on, from the moment time forces us to move on. When something bad happens to you, it feels like things will never get better. It feels like the world is ending, as if time is not a thing anymore. But suddenly a year has passed, friends have become enemies, boyfriends exes and that shirt you really used to love suddenly disgust you. “Why did I ever wear that?” “How could I ever love him?” Questions you keep asking yourself. And why? Because of time. Because the truth hurts you so bad. Because, when you think back at those moments you shared with those people, it makes you so sad that time forced you to move on. The pain is stuck in your body as a virus, and it is eating you up. You really try to forget. Forget time, and those people that have hurt you doing it. But you can never escape time.

Liva 25.12.2020
The Unseen Reality
By: Kirstin Van As
Tags: Space, Time, Breathing, The Alchemist, Surrender

“When you possess great treasures within you and try to tell others of them, seldom are you believed.” — The Alchemist, Paolo Coelho.

I LOVE the practice of Qigong. From the outside, it may appear like nothing is happening, but on the inside, it’s a whole different universe!

The same happens when manifesting. It might seem like there’s no proof or evidence of what I know to be true in my heart and therefore people don’t take me seriously when I try to explain my predictions. It doesn’t matter. In the end, it was never between me and them anyway.

I can get lost in the silence of the universe. If I could, I would stay in meditation forever. It’s probably the time where I feel the most alive because I go beyond the walls, beyond the boundaries of my mind. The entry-point into that vast space is my breath. My breath leads me into the depths of my subconscious.

Changing my breath changes my thoughts. Changing my thoughts changes my perception. Accessing the power to change my perception gives me access to change my reality. Accessing the silence beyond my thoughts allows me to enter into the field of infinite possibilities where I find all the answers to my questions. Everything I need to know emerges from this realm. I have everything I need to transform my life right here, right now. I’m simply waiting for the right moment. Timing is everything.

In the meantime, preparation is of utmost importance. Slowing down my breath, slows down my time. When my life goes into slow-motion, I can zoom in and correct the details. Krishnamurti said that one does not meditate in order to get one’s house in order, but that one has to get one’s house in order first before one can meditate. He means that life force energy cannot flow where things are a mess. I need to align my behavior, my thoughts, my habits, meaning that they need to be congruent first before the meditation can have full effect. As above, so below. As within, so without. I cannot say one thing and do another. My thoughts, words, and actions need to tell the same story.

I wrote down a little list of what my priorities should be. And to be honest, I wrote this list down exactly two years ago: on 31 December 2018. It is now more relevant than ever:

Worry less, eat less, talk less. Breathe more, dream more, sing more. Listen more, write more, dance more. Think less, feel more, do less, sleep more. Frown less, smile more, move more.

I am keeping my life simple, but making the simple things count. Less is always more.

Where do you go in search of the answers to the questions to your heart?
Die Top 3 online Timer
By: Nadja Jefley
Tags: Time, Home Office, Countdown Timer, Timer, Time Management

Online Timer ⏰ - Easy and Free

One of the best online timer (countdown) with alarm. Set hours, minutes, seconds, custom sound, volume, fullscreen and…
The inspirational story of Indian para-badminton star Mansi Joshi who has been featured on the…
By: Mg Dumasia
Tags: Badminton, Time, Olympics, Inspiration, Sports

I am a blogger and publishes the posts regarding my blogs.