Git Product home page Git Product logo

calmcode-feedback's Introduction

calmcode-feedback

A repo to collect issues with calmcode.io

Feel free to add issues like spelling or if there's something unclear.

calmcode-feedback's People

Contributors

koaning avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

calmcode-feedback's Issues

Skill suggestion: Logging

So as you might have noticed: I'm using calmcode as a means to explain some concepts to someone in my team. Everytime a new concept comes up, I think: let's see if there's a nice video about this. The topic of today was 'Logging'

Might be very cool to have a video about this. Some subtopics might include:

  • Benefits of logging vs print
  • Write to files and stdout
  • Define formatting
  • The awesome log_pd decorator in sklego

Let me know if I can be of any help

Video tutorial about creating a "calmcode article"

The articles on calmcode.io are really awesome. It would be great to have a tutorial on how to create such a article with videos. Let's call it the "Making of" :-)

Possible steps:

  1. How to come up with a idea for an article
  2. How to determine the steps
  3. What needs to be explained in each step
  4. What are good examples to use in the example
  5. etc etc

So in the end also other people can contribute to calmcode.

scikit metrics: Part - Metrics

Hi!

First of all, thanks for the great content!

So I was looking at your videos of scikit metrics and I noticed that the video in the Metric seems like the full screen recording with some overlap into the Refit Part.

  • "Blank screen" in video from 1:45 untill 2:09.
  • Around 2:09 you are talking about the scoring which also happens in the video of Refit

Metrics
image

Refit
image

Modifying calmcode to SPA ?

Hello,
Would you consider turning calmcode to a SPA? Given the simple and clean design of the website it is easily achievable and I think would it scale much better when you grow the amount of content.

black for jupyter notebooks

Hi,

We often use jupyter notebook and it makes sense to also use black in there to format our code. I am using the magic function %%black. Here are the steps to enable black in jupyter:

  1. Install the magic function: pip install blackcellmagic
  2. Load the magic function into your jupyter notebook: %load_ext blackcellmagic
  3. Use %%black magic function in the cells that you want to format

Maybe you can make a video describing the above steps.

Source: https://github.com/csurfer/blackcellmagic

Pytest coverage comment

https://calmcode.io/pytest/coverage.html

pip install python-cov gives the following error: 'No matching distribution found for python-cov'.

Most people that have experienced this before will just add a version to the pip install. But for people that have not you could add a comment asking them to specify the version.

E.g.
Pip install pytest-cov==2.10.0

example mini-project

Hey @koaning,

First of all thank you for making calmcode - I really like the videos and selection of tools presented :)

The idea
You present number of tools and show video-tutorials how to use them, starting from scratch. I think that it might be also valuable to show working example of few libs put together in some mini-project. Such project should be about some particular topic or solve some problem.

I have in mind one particular idea: Generator of the images that looks like Piet Mondrian's abstract paintings.

Example paintings: one and two. Many more examples here.

Why I think it's interesting?
There are few arguments:

  • Mondrian's art has some underlying mathematics, and there is machine learning kernel inspired by this.
  • You can visualize iterative process that creates an image (use gif)
  • You can parameterize generative process in multiple different ways.

Please let me know what do you think about it?

Best,
Kamil

Add more checks.

There is still some manual labor involved. This is fine, but we need to add some unit tests to prevent issues like this one.

Add content: typing

First of all big congrats on the content there. I didn't know any of your sites, but you pointed me to this one on a PR I opened on whatlies and I binge watched some of the content.

I know, not very calm.

But the format resonated with me. And the list of available tools too.

One tool that I feel could be in the natural progression of flake8, black, pre-commit etc... is IMHO mypy.
Ideas for chapters:

  • the problem
    simple intro to type annotations in a code.py. You could include something like this
    def hello(name, adjective = None):
        return f"Hello {adjective} {name}"
    this doesn't have types to start with, then you would do
    def hello(name: str, adjective: str = None) -> str:
        return f"Hello {adjective} {name}"
    this would fail with error: Argument 2 of "hello" has incompatible type "Optional[str]"; expected "str" which you could fix with
    def hello(name: str, adjective: str = "") -> str:
        return f"Hello {adjective} {name}"
  • installing mypy and running mypy code.py
  • ignoring errors on one line with # type: ignore
  • supressing errors for third party libraries
    ; mypy.ini
    [mypy]
    ignore_missing_imports = True
    
  • mention the typing cheatsheet https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html or https://www.pythonsheets.com/notes/python-typing.html

Other things maybe worth mentioning:

  • mypy is not perfect: it has 1000+ open issues, and is lagging behind sometimes. E.g. if you use dataclasses with functions: mypy will break with a false positive error: Too many arguments for ...

Confirm if `network.http.sendRefererHeader` cause issues on Firefox

Hello,

This project seems really helpful, however I cannot play nor see any of the videos from the website. I tried disabling all my addons and set Firefox to accept coockies but the problem persists as seen bellow:

calm

I inspected the element of the warning and notice your videos are being provided by vimeo and as such I tried to just copy and paste the direct link to the vimeo video but the above message still persists.
This is strange because I tested others sites with embedded vimeo videos and they work all fine, even with all my addons enabled and strick cookies policy.

I'm using Fedora 32 with Firefox v.79.

Thank you for your time.

Add recommended books or references in notes

First, thanks for the awesome content that you are creating. I love it.

I just watched the cvxpy videos and I think that adding some references or some follow-up books in the notes could be helpful for people that want to learn more about it.

Cheers.

Docker overview

Hi ! Is it possible to have some kind of introduction to using docker in a less intimidating manner. I've been stuck at trying to understand it in the simplest form for me to be able to use it intuitively.

Thanks

More a discussion than an issue - QuantileTransformer Video

Hello koaning, thanks again for all great content you are making available to everyone.

I am not sure if this is appropriate or not, to make questions or start a debate, if not, please delete the issue.

In the Predict video for sklearn prep series, you discussed how QuantileTransformer can aid and help your models in defining better frontiers of classification. Illustrate by:

image

However, in your video about artificial stupidity, you brought an interesting point: algorithms such as classifiers build inference engine in regions where there is no data at all. Is not the same logic applied here when you make this transformation? You are changing the shape of your classifier decision boundary in way that it makes inference outside data scope, because I could have situation below:

image

(Imagine blue dots are purple ones, sorry about that...)

Does the question make sense?

Feedback

I really love the short and concise tutorials that you have put up. The tutorials are brilliant. Just enough information to get started with the tool and then it is upto us on how to use it further. Thank you so much.

I have been following you on twitter. Also, thismonth.rocks is another great project that has helped me come up with my own list of small projects that I can do on my own.

Thanks. Please keep making the tutorials. :)

Order of skills

Very cool project! I have been recommending this to people a lot and used it myself as well, thanks!

I think it could be nice to reorder the skills a bit? Even within categories some are more 'I just started working in Python' (e.g. args kwargs, comprehensions) and others are more advanced (gin, FastAPI). I noticed because scikit dummy is before scikit learn.

Some spelling mistakes, missing quotations and such

https://calmcode.io/pre-commit/how-it-works.html
need to edit the video, last sentences get repeated twice (with different endings)

https://calmcode.io/gin/intro-to-gin.html
def simulate(n_samples)
missing : at end of function declaration

if name = main:
forgot to put main in quotation marks in the code example below

config.gin not within quotation marks

same for https://calmcode.io/gin/required-settings.html

https://calmcode.io/gin/blacklist.html
code example has no default value for argument n_samples
def simulate(random_func, n_samples):

@gin.configurable(blacklist=[n_samples])
n_samples not in quotation marks
neither is main

same remarks for
https://calmcode.io/gin/external-configurations.html

pytest gitlab-ci yml file: docker Error response from daemon: pull access denied for python3.6, repository does not exist or may require 'docker login'.

Hi,

I had some trouble getting gitlab-ci to work with the .yml file.
Source: https://github.com/koaning/blackjack/blob/master/gitlab-ci.yml

Fix:
Add quotation marks around python:3.6
image: "python:3.6"

I got a nasty error when pulling up the docker image:
docker Error response from daemon: pull access denied for python3.6, repository does not exist or may require 'docker login'.

Adding the quotation marks resolved the error and ran the test smoothly.

FastAPI Asnyc One

In Ansync One you can remove the r variable. Flake 8 and the other Python linters go crazy about it saying r is declared but never used blah, blah, blah. Below is the re-write so the linters calm the freak down.

# -*- coding: utf-8 -*-
import asyncio
import time

from fastapi import FastAPI
from pydantic import BaseModel, validator

...

# Here's the re-write for the async portion
@app.get("/sleep_slow")
def sleep_slow():
    time.sleep(1)
    return {"status": "done"}


@app.get("/sleep_fast")
async def sleep_fast():
    await asyncio.sleep(1)
    return {"status": "done"}

Slack threads?

The picture you drew implied that Slack threads run inside of a channel, each in their own self-contained space and all publically available.

However this article from Verge (https://www.theverge.com/2017/1/18/14305528/slack-threads-threaded-messages) implies that the threads run parallel to (not "inside") a channel and are not publically available.

Perhaps you can create a short demo showing an actual worked environment inside of a Slack workspace.

Playback speed

This is a way for me to measure if this is a feature folks really need. The upvotes can serve as a proxy.

Not so much an issue

I felt watching few videos was so much helpful for my work, I wished there was an upvote/like for topics.

Easier bingewatching?

Love the tutorials, super easy to understand and straight to the point!
One small thing I'd like to see would be a "Next video" button in a fixed position or some other way to "bingewatch" a single topic.

Landing Page Contrast

image

This is a screenshot taken on a chromebook. The landing barely shows a difference between the white background and the light-gray background. Might be good to consider better contrast.

Args / kwargs

Hi,

Me again, I was looking at the args / kwargs video’s when I noticed that the following;

  • Unpacking and usecase both link to the kwargs video

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.