teleren/devto huggingface dataset:
Showdev: Fantasy Football Draft Analysis
Tags: showdev, r
Published: 2019-09-05 18:20:39

Based on [Ben's post about Fantasy Football](https://dev.to/ben/who-wants-to-join-the-dev-fantasy-football-league-48j2) I decided I would share a draft analysis I have been running for the last few years for my main Fantasy Football league.

Since 2016 we have been doing live, in-person drafts with no cheat-sheets. This makes things more interesting and forces everyone to be more invested in the league. Plus it is an excuse to see each other and enjoy food + drinks (this year we all met at a friend's place in Chicago).

Since we are all very competitive, I decided to run an analysis to see who had the best draft relative to the ESPN rankings. While each ranking is debatable, consistently going against this ranking probably means that you aren't drafting very well.

So I wrangled the draft data and ESPN rankings into a CSV format and used `R` to analyze the data. `R` has some really cool tools like [`rmarkdown`](https://rmarkdown.rstudio.com/) and [`knitr`](https://yihui.name/knitr/) for making these kind of reports. I combined these tools with all `R`'s data manipulation tools and unparalleled [`ggplot2`](https://ggplot2.tidyverse.org/) for data visualization. I generated the HTML using `knitr` locally and then hosted it using GitHub Pages 

Anyway, here are the interest parts:

* [Analysis Webpage](https://evanoman.github.io/FantasyFootball2019/Draft/)
* My favorite chart:

![Fave Chart](https://thepracticaldev.s3.amazonaws.com/i/tm5x26f5qee048yvqr15.png)

## Code:
{% github evanoman/FantasyFootball2019 %}
Simple CSS Animation ( Animating a button )
Tags: css, html, webdev, beginners
Published: 2019-09-05 17:31:37

A simple CSS animation can draw your visitors attention to some important part of your interface. You can also use these animations to make your website look more interesting!



Starting off, I will not go through the button CSS but here is the design used.
{%gist https://gist.github.com/drinkmeasap/cfa7d3b6bc5ac5e1b3c0e7f0dbf5579b %}

Now, to use a CSS animation we must first specify our keyframes for the animation.

One simple example of this could be

```css
@keyframes example {
  40% {background-color: green;}
  80% {background-color: red;}
}
```

![](https://i.imgur.com/ZIOySLE.gif)

In this animation the same CSS for the button style above was used, a animation time of 2 seconds was specified to that button class on hover through following

```css
.btn:hover {
  animation: example 2s;
}
```

This means that at 0% of the animation the background of the button is white which was specified at the .btn class. At 40% of 2 seconds it will be changed gradually from White to Green and then from 40% - 80% change from Green to Red, then return to the button specified background color.

Using these keyframes we can do a lot of various things with the button such as making it shake by

{%gist https://gist.github.com/drinkmeasap/e21275563aa687acccc203a5a2bec83f %}

Which provides this following effect when hovering the button.

![](https://i.imgur.com/zxj31OL.gif)

In this example it simply moves the button a few pixels gradually between each keyframe.

I should note that if you don't want the animation for something to trigger on hover, instead trigger after a certain time you can use

```css
animation-delay: s
```

and enter how many seconds after the page loads you want to run the animation.

Now after you've read this far you might be curious about what other properties you can animate. This following article will show you a list of properties that you can use to animate.


[Firefox MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties?source=post_page-----c996cc4632dd----------------------)

Feel free to ask anything if you have any questions!
Positioning a text over an Image using CSS / HTML
Tags: css, html, webdev, beginners
Published: 2019-09-05 17:01:32

Starting off we'll use this simple html layout, start by changing the img src to the image you will be using.


{%gist https://gist.github.com/drinkmeasap/63586d66bc1c4cc2b78c56587fb87e97 %}

and we will also be using this css stylesheet.

{%gist https://gist.github.com/drinkmeasap/f8838e0ff545daa6dd3953b183f6f8d7 %}

Now we have a text in the center of this image.
![https://unsplash.com/photos/qxT5_usxqsE](https://i.imgur.com/1qLmpn3.png)
A text-shadow can sometimes make the text more visible. Another way to make the text more visible is to add a box around your text with a low opacity.
![https://unsplash.com/photos/qxT5_usxqsE](https://i.imgur.com/iuoxfGB.png)
CSS for the box

{%gist https://gist.github.com/drinkmeasap/cb1df2af78b37108ab1954e418eb614d %}

Wrapping the Image and Divs with this box class
{%gist https://gist.github.com/drinkmeasap/f11757926decb02ff65424ef24027b5c %}

Feel free to ask if you have any questions!
Code Story E6: Jonathan Perichon on the Use Cases for Checkr
Tags: podcast, codestory
Published: 2019-09-05 16:40:18

{% youtube nOOZ-RESxGg %}

Through a chance internship in LA, Jonathan Perichon made his way from France to the United States. In doing so, he fell in love with the culture and opportunity. After working for a startup requiring background checks for its users, he saw first hand how antiquated and slow the process can be. After about 6 months, he and his co-founder set off to build an API driven solution, facilitating the submission, reporting and workflow of background checks for candidate workers… and much more. 

In the above clip, Jonathan Perichon discusses what the main 3 use cases for Checkr are. If you like what you hear, check out the full episode below.

{% podcast https://dev.to/codestorypodcast/e6-jonathan-perichon-checkr %}
Pushing Left, Like a Boss — Part 5.10 — Untrusted Data
Tags: programming, tutorial, beginners, security
Published: 2019-09-05 16:39:26

---
title: Pushing Left, Like a Boss — Part 5.10 — Untrusted Data
published: true
description: The 5th section of this series details various examples of secure coding.
series: Pushing Left Like a Boss
tags: programming, tutorial, beginners, security
---
###This series, and my blog, have moved! [Check it out](https://wehackpurple.com/g8tg)!
---
####Trust data from…. No one. Not the database, not APIs, not even your mom.


![Sydney, Australia, at #MSIginiteTheTour — I’m the tiny dot at the front](https://thepracticaldev.s3.amazonaws.com/i/1vn301ef2amynejs3kq0.jpeg)
######Me at #MicrosoftIgniteTheTour in Sydney, Australia.  I'm the tiny dot.

Any data sent to your application needs to be treated as untrusted, and thus validated before it is used or saved. When I say this, I mean **ALL DATA**. Whoever saved the data to that database may have made an error while validating that input. The API you are calling may have been compromised. Even a highly intelligent user, such as my mother (degrees in both chemistry and mathematics, an accounting designation, and several certifications, including adult education - She's *very* bright.), could make a simple error when using an application, such as entering a single quote instead of a double quote, which could potentially send your application into an error state, causing a crash or worse. 


---
###[Read the rest on my NEW blog!](https://wehackpurple.com/ht69)!
---
Compilation of useful Telegram channels for Python devs
Tags: python, telegram
Published: 2019-09-05 16:15:48

---
title: Compilation of useful Telegram channels for Python devs
published: true
description: a list of telegram channels that I personally use
tags: python, telegram
---

Just sharing a list of telegram channels that I personally use. Feel free to add on

[@PythonHub](https://t.me/PythonHub) (News & links about Python programming)
[@pythonetc](https://t.me/pythonetc) (Regular tips about Python and programming in general)
[@pythondaily](https://t.me/pythondaily) (Daily Python News, Question, Tips and Tricks, Best Practices on Python Programming Language)
[@devchampions](https://t.me/devchampions) (The most relevant links, books, and educational materials for software developers)
[@ProgrammingTip](https://t.me/ProgrammingTip) (Fun & Useful Programming)
[@theprogrammingart](https://t.me/theprogrammingart) (A channel with programming news and tips and tricks, nice for beginners but also for experienced programmers)
[@iamluminousmen](https://t.me/iamluminousmen) (blog related articles and messages about Python, Big Data and ML)
[@pythonl](https://t.me/pythonl) (Python/Django posts, articles, tricks, and news)

------

**Thank you for reading!**

Any questions? Leave your comment below to start fantastic discussions!

Check out the original post in [my blog](https://luminousmen.com) or come to say hi 👋 on [Twitter](https://twitter.com/luminousmen).
Plan your best!
10 Reasons Why You Should Always Overdeliver
Tags: career, business, advice, productivity
Published: 2019-09-05 16:09:58

Customers, customers, customers...

Overdelivering on a project is the best thing you can do for your customer - and therefore for yourself! An astounded customer is an unbeatable advertisement for your business.
Not only that your customers feel that they got the service as it was described, they feel as if they got more! Perhaps if you look at the monetary value, they did indeed get more.. But they will certainly pay your business each and every cent of that difference.

Customer that is blown away by your delivery will instantly become a returning buyer and a personal affiliate partner. He will recommend your service to anyone he knows, and the best fact about it is - he will speak with pure enthusiasm and joy.
This is a lesson I quickly realized while working as a freelancer on Fiverr. 
People will repay you multifold for the work you overdeliver. They will continually come back for any sequential project they require. They will refer you to their friends with similar interests. They will leave reviews that you couldn't even conjure up yourself.

And then comes even more magic. 

Based on those very reviews, more intrigued customers will come. Overdeliver on their projects too, and.. Well, it's obvious. A massive snowball effect occurs.

I do Fiverr gigs just for fun. It is a way for me to practice people skills and effective communication with customers. Perhaps a month or two after I started overdelivering, the group of my dedicated customers exploded and I even had to put my account on vacation mode for a while due to too many requests I was getting on daily basis (remember, it was supposed to be a side job for fun, along with my Computer Science projects and faculty requirements, I couldn't let it become a full-time job).

This taught me an extremely valuable lesson I apply in everything I do nowdays.
I used the same technique to land a software engineering internship this summer. I gave my 110% to the task that was supposed to be just an overview of my current knowledge.

I gave it my all. And they recognized it. And they loved it!

The best thing is the positivity that this brings. And the fact that you can use it anywhere and anytime.
Overdeliver on a freelance job, overdeliver on your tasks at work, overdeliver when preparing a meal for someone..

Do it anywhere you go and you will create an atmosphere of delight around you at all times.
To be a Full Stack Engineer in 2019
Tags: node, react, redux, graphql
Published: 2019-09-03 17:07:11

---
title: To be a Full Stack Engineer in 2019
published: true
description: Resources to be a full stack engineer in 2019
tags: node, react, redux, graphql
---

Hi All

I will list down a few resources to help become a Full Stack Engineer in 2019. 

I am here including the most popular tech stack of React, Redux, Node, GraphQL along with a few resources for system design.

In order to understand React, Redux, or Node in detail, its recommended to understand a little bit about Javascript. 

**Javascript**: Picking up JS depends on your experience with it, but a very good starting point would be to start with fundamentals. 

- https://github.com/getify/You-Dont-Know-JS is a great place to start learning Javascript. It starts with the very basics and digs deeper into advanced concepts. In addition, it also covers the internals of JS compiler.

**React**: Official React docs do a pretty impressive job of explaining this library. https://reactjs.org/

- Tutorial included in the official site (https://reactjs.org/tutorial/tutorial.html) is more than sufficient to get hold of all basic stuff. To top that, Kent C. Dodds' course on egghead is an amazing course to cover the breadth of React. 
https://egghead.io/courses/the-beginner-s-guide-to-react

**Redux**: Before starting with Redux or for any library for that matter, its useful to understand the need behind it. Reasons to use Redux are nicely explained in this article: https://blog.logrocket.com/why-use-redux-reasons-with-clear-examples-d21bffd5835/ .

- To learn more about it, official docs are a good source https://redux.js.org/introduction/getting-started .

**Node**: Node is the most popular JS framework to build server-side application and it has a very un-intuitive single threaded architecture. Node architecture can be studied from this doc: https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/

- Proper understanding of the Node architecture is needed to build scalable and asynchronous applications. 

**GraphQL**: GraphQL is the latest tech on rise and it makes sense to learn it. GraphQL helps in building optimized data communication APIs for web applications. 

- https://graphql.org/learn/
- https://www.howtographql.com/

**Design**:
- This is an amazing series where Google explains the browser architecture : https://developers.google.com/web/updates/2018/09/inside-browser-part1
- https://www.interviewbit.com/courses/system-design/
- https://leetcode.com/ is also a good place to practice coding in JS.
もっと早く出会いたかった git command 達
Tags: git, beginners
Published: 2019-09-05 15:29:13

---
title: "もっと早く出会いたかった git command 達"
published: true
description: "業務中によく使うコマンド集、add や status くらいだと思ってませんか？もっとたくさん便利なコマンドがあります。僕もまだまだ勉強中ですが、そんな僕がいくつか便利なコマンドを紹介します。"
tags: git, beginners
canonical_url: https://qiita.com/yasudanaoya/items/9afc490e9fcf0fc92e73
---

# はじめに
いわゆる ｎ番煎じ
業務で使うコマンドの中でも特に気に入ってるものを並べました。

初心者から、中級者向け？だと思います。

コマンドを覚えると開発がより楽しくなると思います。
あんなこともできるこんなこともできる、できるが増えるって素晴らしいですね。

## 便利コマンド

### 差分をステージングエリアに追加する
```
git add -p
```
役立ち度：★★★★★
基本的に、このオプションでしか add はしない。

### 差分を取り消す
```
git checkout {FILE_NAME}
git checkout # 全部なかったことに。
git checkout -p # もある
```
役立ち度：★☆☆☆☆
時々使うけど、結構危険だと思う。

### ステージングエリアから戻す(add する前に戻す)
```
git reset {FILE_NAME}
git reset # 全部戻す
git reset -p # もある
```
役立ち度:★★★☆☆
コミットしようとした時に、「あれなんでこいついるの？」ってなった時に使う
コミット前には必ず `git status` しましょう。

### 指定したユーザーのコミットログを見る
```
git log --committer={USER_NAME}
```
重要度:★★☆☆☆
怪しい人を見つけた時に。

### コミットIDを指定して、中身を確認する
```
git show {COMMIT_ID}
```
重要度：★★★★☆
怪しいコミットがあった時に。
pull したらコミットをたくさん取り込んだ時によく使う。

### 別のブランチからファイル/コミットを持ってくる
```
git checkout {BRANCH_NAME} {FILE_NAME}

git cherry-pick {COMMIT_ID}
```
役立ち度：★★★☆☆
別のブランチの作業者が作った共通部品を盗みたい時に。

### 直前のコミットを修正する
```
git commit --amend # コミットメッセージも変えられる
git commit --amend --no-edit # vim をスキップ
```
役立ち度:★★★★☆
「この差分もこのコミットに乗せたい」という時に。

### ファイル名の変更
```
git mv {OLD_NAME} {NEW_NNAME}
```
役立ち度：★★★★★
普通にエクスプローラーから名前をすると delete と create になってしまう。
これでファイル名を変更するとログに変更が残るから嬉しい。
（これもオプションがあるわけじゃないけど、意外と使ってる人が少ない...。のでランクイン)

### 特定のファイルの歴史を確認
```
git log -- {FILE_NAME}
git blame {FILE_NAME}
```
役立ち度:★★★☆☆

blame の方が有名だけど、 log で見るのも便利な時がある。

### マージ済みのブランチの確認
```
git branch --merged
git branch --no-merged # その逆
```
役立ち度：★★★★☆
削除して良いローカルブランチを見つける。

### 直前のブランチを指定して〇〇
```
git checkout - # ブランチ切り替え
git merge - #  マージ
```
役立ち度：★★★★★
ひょっとしたら一番便利かもしれない。
ブランチ名が長くて打ってらんない時に。
ブランチ名を忘れちゃった時に。

### マージしたらコンフリクトしたのでなかったことに
```
git merge --abort
```
役立ち度：★★★☆☆
他の人に聞かないと解消できない時に。

### ざっくりした差分をみる
```
git diff --stat
```
役立ち度：★★★☆☆
ファイル名と、そのファイルが何行変わったかだけを表示

### ステージングエリアの差分を見る
```
git diff --cached
```
立ち度：★★★★☆
直前のコミットと、ステージングエリアとの差分を見る。
add + commit を連結して考えてると不要。（結構危険な考えです、やめましょう）
あれ？これコミットしたら何がリモートに上がっちゃうんだろう、と気になって見てください。

### リモート削除されたローカルブランチを削除する
```
git remote prune origin
```
立ち度：★★★☆☆
branch 名の予測変換が有効になっている場合、
削除されたブランチ名に勝手に変換されてしまって 
嫌な気持ちになったことないでしょうか？僕はあります、たくさん
時々綺麗にすると家と同じで気持ちがいいです。


##ネタ系

### コミット数のランキング
```
git shortlog --summary -n
```
楽しさ:★★★★☆
努力を誰となく認められたい時に。
Git はあなたのコミット数を見てくれてます。

## 最後に
どうでしょうか。
git command でもっと楽しもうって気になれましたでしょうか。
CLI での git 操作ができるようになるともっと楽しく開発ができるかもしれません。
僕は楽しいです。

結構便利コマンド多いなって思います。
shell環境整えたら git command を愛する人になったので、たくさん知りたいです。
「これも使いなよ」っていう、とっておきのコマンドがあったら教えてください。

## おまけ
### 僕の git の alias を晒します

```
＄ git config --list | grep alias
alias.b=branch
alias.s=status
alias.co=checkout
```
あんまりたくさん作ってもしょうがないかな派です。

ありがとうございました。
Polynomial Regression with Python
Published: 2019-09-05 15:06:37

Regression is a way to see trends, and optionally make predictions. If you have X data points, you want to find line Y that closely follows the pattern.

Lets collect data from the korean central bank (interest rates). You can <a href="https://countryeconomy.com/key-rates/south-korea">fetch those here</a>.

We will use the <a href="https://pythonbasics.org/">Python programming</a> language.

Then we use sklearn to load the polynomial. Numpy to process the data. Matplotlib is used to plot the data points and the line.

You can copy the (quick and dirty) code below:

    #!/usr/bin/python3
    from sklearn.preprocessing import PolynomialFeatures
    from sklearn import linear_model
    from sklearn.linear_model import LinearRegression
    from sklearn.model_selection import train_test_split 
    import numpy as np
    import matplotlib.pyplot as plt
    
    y = [
        4.75,
        5.00,
        5.25,
        5.00,
        4.75,
        4.50,
        4.00,
        4.25,
        4.00,
        3.75,
        3.50,
        3.25,
        3.50,
        3.75,
        4.00,
        4.25,
        4.50,
        4.75,
        5.00,
        5.00,
        5.25,
        5.00,
        4.25,
        4.00,
        3.00,
        2.50,
        2.00,
        2.25,
        2.50,
        2.75,
        3.00,
        3.25,
        3.00,
        2.75,
        2.50,
        2.25,
        2.00,
        1.75,
        1.50,
        1.25,
        1.50,
        1.75,
        1.50
        ]    
    
    X = np.array(range(0,len(y))).reshape(-1,1)
    Y = np.array(y).reshape(-1,1)
    
    print(X)
    print(y)
    print(len(X[0]))
    print(len(y))
    
    
    from sklearn.preprocessing import PolynomialFeatures
    poly_reg = PolynomialFeatures(degree=9)
    X_poly = poly_reg.fit_transform(X)
    pol_reg = LinearRegression()
    pol_reg.fit(X_poly, y)
    
    # Visualizing the Polymonial Regression results
    def viz_polymonial():
        plt.scatter(X, y, color='red')
        plt.plot(X, pol_reg.predict(poly_reg.fit_transform(X)), color='blue')
        plt.title('Korean Interest Rate')
        plt.xlabel('Quarter')
        plt.ylabel('Interest Rate')
        plt.show()
        return
    viz_polymonial()
    
This will fit the line to the data points. You can choose the number of degrees for the polynomial. You want to prevent over fitting and under fitting.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/qwx9moyyy5tpxiwozx5s.png)
            
Related links:

* <a href="https://pythonbasics.org/polynomial-regression-in-python/">Polynomial regression</a>
* <a href="https://pythonbasics.org/">Python tutorial</a>
* <a href="https://scikit-learn.org/stable/index.html">Sklearn module</a>
A Huge Update of dbForge Compare Bundle for SQL Server
Tags: sqlserver, databaseadministration, ssms
Published: 2019-09-05 14:52:34

---
title: A Huge Update of dbForge Compare Bundle for SQL Server
published: true
description: Devart has rolled out a new version of its dbForge Compare Bundle for SQL Server which includes both brand-new and significantly improved core features.
tags: SQL Server, database administration, SSMS
---

*Devart has rolled out a new version of its dbForge Compare Bundle for SQL Server which includes both brand-new and significantly improved core features.*

![dbForge_SQLServer_Update](https://i.ibb.co/kJ0TNXf/a-variety-of-supported-schema-objects-1.png)

Devart, a recognized software vendor of database tools and data connectivity solutions, has significantly updated its SQL Server comparison tool pack. The release of **dbForge Compare Bundle for SQL Server, v. 5.8**, has brought numerous updates for its components [dbForge Schema Compare for SQL Server](https://www.devart.com/dbforge/sql/schemacompare/) and [dbForge Data Compare for SQL Server](https://www.devart.com/dbforge/sql/datacompare/).

The Schema Compare includes these major updates:

**- Object Filter** — this new feature allows filtering objects right in Comparison Document. The feature also allows applying multiple filters and creating custom filters with Filter Editor which can be saved;
**- Objects Text Diff Control (redesigned)** — gained the coloring model of diffs highlighting;
**- Schema comparison report in HTML (redesigned)** — now includes the actual script differences, apart from information about objects;
**-** Generate Comparison Report Window & Schema Comparison MS SSMS Add-in Window were also redesigned.

The new edition of Data Compare includes:

**- Data Compare Control (redesigned)** —  tabs of the grid became more informative with more crisp data differences highlighting;
**- Data comparison report in CSV (redesigned)** —  now generates several report files in CSV format. One of them contains summary results, and the rest of the files contain specific data diffs info;
**-** Generate Comparison Report Window & Data Comparison SSMS Add-in Window were redesigned as well.

All the updated features will be available regardless of how the tools were downloaded, either separately or in a bundle. Learn more about the recent release by visiting Devart’s blog article [https://blog.devart.com/a-new-look-of-differences-in-compare-bundle.html](https://blog.devart.com/a-new-look-of-differences-in-compare-bundle.html)



**About Devart**

Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects.
For additional information about Devart, visit [https://www.devart.com/](https://www.devart.com/)