teleren/devto huggingface dataset:
Hacktoberfest: Recap
Tags: hacktoberfest, opensource
Published: 2021-11-01 06:53:59

This is to summarise my experience during GitHub Hacktoberfest 2021. Overall, it is very important and meaningful to me. This is my first time to make contributions to open source projects. Along the journey, I learnt a lot of how a real world large open source project maintained and operated, and I received a lot of help from project maintainers. 

At this stage, I am still a rookie in software development and open source project area. However, the biggest difference on me between now and a month earlier is that I am now feel no hesitate to make contributions to open source project. 

Thus, I would like to share my opinions to the old me or someone who is still trying to make his/her first contribution to a real-world contribution:

- Always keep in mind, there are a lot of opensource projects welcome contributors with even very limited levels of programming skills.
- Read guidelines and communicate actively is very important
- Ask for help from project maintainers and documentations
- Small contributions are good contributions, there is no need to write a large chunk of code
- Spend time reading code 
- Start with `easy` issue, such as `good-first-issue`
- Write documentations and tests are very important
Hacktoberfest: Ploomber Project "add venv directory to .gitignore"
Tags: hacktoberfest, python
Published: 2021-11-01 06:49:14

### Introduction
This is my second contribution to an open source project. This contribution required to write code and a corresponding unitest. Meanwhile, since this issue is a bit more complicated, it also required a contributor to have a better communication with the project maintainer, and to closely follow the contributing guidance in the documentation.

### Project
I chose the [ploomber](https://github.com/ploomber/ploomber) project, which is an opensource project to help write maintainable, production-ready pipelines using Jupyter or your favorite text editor. Develop locally, deploy to the cloud.

## Issue 
The [issue](https://github.com/ploomber/ploomber/issues/330) was raised here, this is to automatically add the `venv` directory to .gitignore to prevent it from being committed. Interestingly, the project maintainer made a mistake initially. Thus, the requirement of this issue has changed, according to this [comment](https://github.com/ploomber/ploomber/issues/330#issuecomment-943895631). 

## Challenge
The most challenge part of this issue was having a good understanding of the architectures and designs of this project at both big-picture and function levels. Only in this way, the code added by me can merged smoothly into the original code. Also, the corresponding unitest must be provided.

## Solution and Pull Request

I solved this issue by using existing functions in this project and adding several lines of code, together with a proper unitest function. The original code in the source code provide a [class](https://github.com/ploomber/ploomber/blob/b631a1b21da64bb7b9525db1c29c32ee3c0e48b4/src/ploomber/io/_commander.py#L44) to do this task. I generated a [commit](https://github.com/Qiwen-Yu/ploomber/commit/669605fc6b584d7a9e0c603971918dc7ff0e90e1). The unitest uses `assert` to make sure only one line was added to the `.gitignore`. The PR can be found [here](https://github.com/ploomber/ploomber/pull/394).
The Importance of Marketing Automation in Lead Generation for 2022
Tags: startup
Published: 2021-11-01 06:38:45

Despite the dynamic nature of marketing, it’s core value has more or less stayed the same - i.e. “make sales easier”. But how we get there has undoubtedly changed, credits to marketing automation. After all, customers are evolving, and their rising expectations should consume our time rather than spending time manually sending out emails or filtering the good leads. And that’s the thing, isn’t it? We’re constantly looking for ways to optimize our workflows. And the introduction of marketing automation has made that possible. 

## What is Marketing Automation? ##

HubSpot defines marketing automation as “all about using software to automate marketing activities.” The simplest way to understand the role of marketing automation is a bunch of tools that make a marketer’s job easier while also saving time. But by working in marketing for years, we can definitely say that marketing automation doesn’t just make marketing easy but also better. If you’re thinking about adopting marketing automation, you shouldn’t have the thought that “I can do this manually.” The whole point of automation is to scale. Scale your conversions on site, scale your [lead generation](https://wotnot.io/blog/generate-qualify-leads-automatically/?utm_medium=referral&utm_source=devto&utm_campaign=marketing_automation_in_lead_generation), scale your email marketing, and so on. 

Read full article from here: [Marketing Automation in Lead Generation](https://wotnot.io/blog/importance-of-marketing-automation-in-lead-generation/?utm_medium=referral&utm_source=devto&utm_campaign=marketing_automation_in_lead_generation)
My first week experience in TaskForce 4.0
Published: 2021-11-01 06:35:42

I am delighted  to share my first week experience in taskforce 4.0 bootcamp. This is a program prepared by awesomity lab together with Code of Africa where talented software developers are selected to be trained during six weeks. It is a kind of an internship but way cooler.😎
The bootcamp started on October 25th and it is supposed to end on December 3rd.
Here is what I learnt during the first week:

On technical part I learn what is a user story and how to write a good user story, I was also introduced to challenges on codewars which were really challenging but helpful to sharpening my thinking capacity.

Not only technical skills but I also learnt a lot from professional sessions such as best practices for virtual meetings, intercultural communication and business pitching.

My first week was wonderful I can't wait to see what next week will bring. Thank you Awesomity lab and code of Africa for this opportunity you gave us!!
Hacktoberfest: Quelea Project "remove redundant import statements"
Tags: java, hacktoberfest
Published: 2021-11-01 06:33:58

### Introduction
This is my first contribution to an open source project, and I have learnt a lot from this straight-forward, yet meaningful contribution.

### Project
I chose the [Quelea](https://github.com/quelea-projection/Quelea) project, which is an open source Java desktop project. Quelea is a competent cross platform church software developed to bring the best features from similar software, spiced with unique features, to every church for free. The founders have developed this software entirely on their spare time and the software is completely open source. 

## Issue 
The [issue](https://github.com/quelea-projection/Quelea/issues/393) was raised here. This issue was asked contributers to remove redundant import statements from Java class files. 

## Challenge
The most challenge part of this issue is to properly set up local environment according to the [contributing guidelines](https://github.com/quelea-projection/Quelea/blob/master/CONTRIBUTING.md) and [setup guide](https://github.com/quelea-projection/Quelea/blob/master/docs/SETUP.md). The Oracle Java SDK 8 and IntelliJ IDEA are required by this project. 
Once the local environment got properly set up, the IDE could index and sync the whole project files correctly. Therefore, you could have the idea that which import statements were useless.

## Solution and Pull Request

The solution was mentioned in the Challenge part. With the right working environment, I finished my part and submitted a [PR](https://github.com/quelea-projection/Quelea/pull/498), and this PR was successfully got merged.
[KONG] Example get local Datetime
Tags: go
Published: 2021-11-01 06:30:17

## Golang code

```golang


package utils
// Create Interface
type DateTimeUtils interface {
	GetCurrentDateTimeAsDefaultFormat() string
}

import (
	"time"
	_ "time/tzdata"
)

type dateTimeUtil struct {
	Lc time.Location
}
// Implement Interface
func NewDateTimeUtil() DateTimeUtils {
	locat, error := time.LoadLocation("Asia/Bangkok")

	if error != nil {
		panic(error)
	}

	return &dateTimeUtil{Lc: *locat}
}

func (dt *dateTimeUtil) GetCurrentDateTimeAsDefaultFormat() string {
	currentTime := time.Now().In(&dt.Lc)
	return currentTime.Format("2006/01/02 15:04:05.000000")
}

// Create Test Method

func TestGetCurrentDateTimeAsDefaultFormat(t *testing.T) {
	var ins DateTimeUtils = NewDateTimeUtil()
	toDay := ins.GetCurrentDateTimeAsDefaultFormat()
	if len(strings.TrimSpace(toDay)) == 0 {
		t.Error("Error: get current datetime")

	} else {
		msg := fmt.Sprintf("success: current date time  %v", toDay)
		t.Logf(msg)
	}
}

```
ทำการ run test

```powershell
go test -v -run TestGetCurrentDateTimeAsDefaultFormat 
=== RUN   TestGetCurrentDateTimeAsDefaultFormat
    datetime_util_test.go:17: success: current date time  2021/11/01 13:25:52.404100
--- PASS: TestGetCurrentDateTimeAsDefaultFormat (0.00s)
PASS
ok      ananda.co.th/service/units-service/pkg/utils    0.204s
```
ในส่วนของการ format จะมีตาม list ด้านล่างนี้

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7onew5vquvbnce4wc3pk.png)

## Docker file

```
FROM golang:alpine as build
WORKDIR /app
ADD . .
RUN CGO_ENABLED=0 GOOS=linux go build -o demo

FROM scratch as final
COPY --from=build /app/demo .
ENV TZ=Asia/Bangkok
CMD ["/demo"]
```

โดยในส่วนของ ``ENV TZ=Asia/Bangkok`` เราสามารถไปหาได้จาก [link](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) นะครับ ซึ่งจะมีลักษณะเหมือนด้านล่างนะครับ

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ih2z7j185ph1gg0m5u4z.png)

## Time zone list 


credit by
https://golang.cafe/blog/golang-time-format-example.html
https://www.somkiat.cc/golang-timezone-with-docker/
Add Data Bars in Excel using Java
Published: 2021-11-01 06:22:18

Data bars are a type of conditional formatting Microsoft Excel offers for visualizing the values in Excel cells. They can help you compare the values quickly because a cell with a longer bar represents a larger value, while a cell with a shorter bar represents a smaller value. This article will introduce how to add data bars in a range of cells using Free Spire.XLS for Java.

###Import JAR Dependency (2 Method)###
**1#** Download the [free API](https://www.e-iceblue.com/Download/xls-for-java-free.html) and unzip it, then add the Spire.Xls.jar file to your project as dependency.
**2#** You can also add the jar dependency to maven project by adding the following configurations to the pom.xml.
```xml
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>http://repo.e iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>3.9.1</version>
    </dependency>
</dependencies>
```
###Sample Code###
Free Spire.XLS for Java offers **Worksheet.getCellRange()** method to get a specific cell range, and you can add a new conditional formatting to the cell range using **ConditionalFormats. addCondition()** method. To add data bars in the selected cell range, you just need to set the type of the new conditional formatting to DataBar using **ConditionalFormatWrapper.setFormatType()** method.
```java
import com.spire.xls.*;
import com.spire.xls.core.*;
import java.awt.*;

public class applyDataBars {
    public static void main(String[] args)  {

        //Create a Workbook instance
        Workbook workbook = new Workbook();

        //Load an Excel file
        workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.xlsx");

        //Get the first worksheet.
        Worksheet sheet = workbook.getWorksheets().get(0);

        //Get the specific cell range
        CellRange range = sheet.getCellRange("B2:B13");

        //Add the condotional format of data bar to the cell range
        IConditionalFormat format = range.getConditionalFormats().addCondition();
        format.setFormatType( ConditionalFormatType.DataBar);

        //Set color for the data bar
        format.getDataBar().setBarColor( Color.GREEN);

        //Save to file
        workbook.saveToFile("ApplyDataBars.xlsx", ExcelVersion.Version2013);
    }
}
```
![DataBar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hoflml2spo6cit1b01t9.jpg)
When Rails in Docker goes to down...
Tags: docker, rails
Published: 2021-11-01 05:57:09

## 🤔 Situation

- Environment
  - Rails 6.1
  - Rails in Docker
  - AWS EC2

- Fully works on development mode
- Don't work on EC2 with docker compose

## 🚀 Treatment
Check standard logs.
This command shows standard log.

```sh
docker ps

CONTAINER ID ... NAMES
36b68a26fc66 ... xxx_web_1

docker logs xxx_web_1
# it shows standard log
```

## 😅 In my case
The name of file and class are different.
The production mode eager loads all file before starting.
That's the why.

```sh
! Unable to load application: Zeitwerk::NameError: expected file /null_strategy.rb to define constant Strategies::Jobs::NullStrategy, but didn't
```
My Public Inbox
Tags: publicinbox, abhidevelops, w3coder, codinghelp
Published: 2021-11-01 05:52:35

If you need any help or would like something, you can let me know in my Public Inbox.
Type your question in the discussion to get it answered.

Contact Me: [abhinavherein@gmail.com](https://abhinav-gupta-w3.w3spaces.com/contact.html)

My Website: [https://abhinav-gupta-w3.w3spaces.com](https://abhinav-gupta-w3.w3spaces.com)
Async  / Await Explained
Published: 2021-11-01 05:29:43

In JavaScript to make Asynchronous programming easier to implement and read, Special Async and Await keywords were introduced. 

### Lets see why these are used

These functions can be used in multiple use cases where a function execution depends on the output of the previous function call and it needs to wait for it An
easy example for this is an API call, where the data from the API call need to be fetched first before doing other operations on it.

## Async
An Async function can be declared by adding the Async keyword in front of a function. This function returns a promise 

It can be declared like this

```
const test = async () => {
    console.log("Async function")
} 
```

## Await
An await function can be declared in the same way as an Async function by adding the Await keyword in front of the function declaration.

```
const test = await () => {
    console.log("Async function")
} 
```
Await keyword can only be declared inside an Async function.

Await keyword makes the code execution stop from the line it is declared till the promise completes. While it does stop the execution of the code from the line it is declared. It does not stop the code execution outside the Async block.

Now that we know how to write these functions individually lets see what we can achieve with these functions.

```

const testFunc = async () => {
    const a = await "Hello World!"
    console.log(a;
}
  
console.log("Before testFunc() call")
testFunc()
console.log("After testFunc() call")
```

## Output
```
Before testFunc() call
After testFunc() call 
Hello World
```
How To Write SEO Title & Description in Website.
Tags: seo, tutorial, beginners, discuss
Published: 2021-11-01 05:26:05

This is a complete guide on <a href="https://www.blogtriggers.com/2021/05/smart-and-informative-seo-titles-and-descriptions.html">how to write SEO title and description</a> in website and blog. We all know that search engine is an important place for business and we should use our keywords strategically. So that we can get high rank in google and most of the users can reach our site. Here we will discuss how we can optimize our title and description in such a way it increases conversion rate.

So we are going to tell you in 2 part 
1) How to Write SEO Title?
2) How to Write SEO Description?

<h1>How to Write SEO Title?</h1>

See In SEO Title there are various point that you have to note down when you write Title of your website page or posts.

1) Your title should be not more than 60 to 70 characters long. That's the best advice if you want to write a good title.

2) Your title should be direct and powerful. It should include keywords that will help your content rank higher on search engines.

3) It is important to keep your SEO Title short. 

4) In Title you have to write Question based titles like How, Which, What, Whom, Why, When, Where etc... That will increase users curiosity and it will also increase your Title CTR.

5) When you use numbers in your SEO title, like in "5 Reasons," you make it easier for search engines to find what they're looking for.

<h2>How to Write SEO Description?</h2>

When you are writing the SEO Description, you have to follow some points to increase your CTR.

1) First of all your Description length was in-between 150 to 160 characters.

2) When you write Description of your posts then you have to add main keywords in starting that will tell that your main posts is focusing on these points.

3) If you are writing description then you have to write for users not for search engine because If users understand then it chances to click on it.

4) When writing descriptions, it's important to include your brand name when relevant.

5) Make sure your description will match with your content because if the description will not match with content then it chances to increase bounce rate.

In short, these are the points you should remember if you want to increase your CTR and also rank fastly.
Set up your own free online store complete with payments, order management and push notifications in 2 minutes
Tags: startup, webdev, productivity, devops
Published: 2021-11-01 04:46:32

COVID-19 has affected many of us badly, with countless having lost jobs and facing an uncertain future. If you happen to be affected, I’m genuinely sorry for what you’ve been through and I hope things work out well.

In Singapore, many home based businesses have sprouted during this period and I was hoping to be able to help out in some way. So I enhanced [FormBlob](https://formblob.com) with an order management flow and a simple store front template that helps users set up a fully functional online store complete with order management, payments and push notifications in 2 minutes.

I would like to offer the use of this platform free for all home based businesses globally. Just drop me an email at jeremy@formblob.com or on Telegram at @jeremy_ling with the email that you created your account with and a short description of your business and I’ll enable full access for you. If you’re wondering how the store looks like, here’s a demo store.

[https://hbb.fblob.me](https://hbb.fblob.me)

Here are some videos that illustrate how a store is set up on FormBlob and the order management flow.

##### How to set up a store on FormBlob
{% youtube _f7FAv3hyTk %}

##### Managing an order on FormBlob
{% youtube _GsaJbH0JKI %}

There may be issues with internationalisation as this was built with the Singapore home based business in mind, but if you face any issues let me know and I will do my best to help you with them as soon as I get some time.

### Concluding Remarks
You may be wondering, what’s the catch? Is this really free? Yes it is. I do not intend to earn from home based businesses but I do benefit in that FormBlob’s branding reaches more people. FormBlob is a budding venture and in a way a home based business as well so I am part of your community egging you on. Let’s conquer COVID-19 together!
Add anaconda to right-click menu in windows
Tags: datascience, anaconda
Published: 2021-11-01 04:22:59

---
title: Add anaconda to right-click menu in windows
published: true
description: Anaconda prompt is my go-to solution for anything and everything python or data science-related. It is tailored for ease of use and reliability.
tags: datascience, anaconda
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4747di09peziv2wd66ls.jpg
canonical_url: https://milindsoorya.com/blog/add-anaconda-to-right-click-menu-in-windows
---

## The problem
Anaconda prompt is my go-to solution for anything and everything python or data science-related. It is tailored for ease of use and reliability. In windows usually, we have to open the anaconda prompt and then navigate to the folder we want to do our project and then start working on our project. You see this is quite a tedious process and after some time you will get fed up.

## The Solution
We can easily overcome this problem by opening the anaconda prompt using the windows right-click menu.
Adding anaconda to the windows right-click menu is quite easy.

## STEP - 1 Run regedit.exe
Press `Windows key + r` to open the run window and then type in `regedit.exe`
and press ok.

![1 run the command.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1635739945256/4IFAVqktg.png)

## STEP - 2 
Navigate to `HKEY_CLASSES_ROOT > Directory > Background > shell`

## STEP - 3
Add a key named AnacondaPrompt and set its value to "Anaconda Prompt Here" (or anything you'd like it to appear as in the right-click context menu)

![2 add new key.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1635739997343/vRdj5RMcC.png)

![3 add key value.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1635740096853/3aoG_AW5g.png)

## STEP - 4
Add a key under this key, called command, and set its value to 
```shell
cmd.exe /K C:\Anaconda3\Scripts\activate.bat
```
(may have to change the activate.bat file to wherever your Anaconda is installed)


![4 add command.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1635740157816/jhbu89IMN.png)

## STEP - 5
Now you can open your anaconda prompt by right-clicking your desired location.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owh9gewf5wo5cx331w3e.png)
Divtober Day 31: Spooky
Tags: codepen, divtober, css, art
Published: 2021-11-01 04:17:31

---
title: Divtober Day 31: Spooky
description: Some cartoons for divtober day 31: spooky.
published: true
tags: codepen,divtober,css,art
series: divtober
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kfrbh21esn04n2jj80s9.png
---

The final word for divtober is "Spooky." Today is Halloween, so it was an appropriate word... but I didn't quite get to do something that I wanted. So I ended up doing a bunch of small things trying to do something better. Here are some things I did.


An easy one was having the word spooky, replacing the O's with a skull and a ghost. Simple, but fun to do:

{% codepen https://codepen.io/alvaromontoro/pen/jOLGxpL %}

----


I also did a cute spooky ghost (I liked the pumpkins in the back so [created a separate demo just with that background](https://codepen.io/alvaromontoro/pen/LYjzjGg), it's easy to copy-paste and use it as a pattern):

{% codepen https://codepen.io/alvaromontoro/pen/KKvXqRd %}

As with other drawings this Divtober, there's a video of the process:

{% youtube JBtuqHSlI-8 %}

-----

Finally (last one, I promise), I did a Frankenstein's Monster cartoon with a single div and CSS:

{% codepen https://codepen.io/alvaromontoro/pen/bGroKpY %}

...and that's all for Divtober 2021. It was fun doing a drawing a day, and using a single div... but probably not something to do it for a while.