<commit_before>---
layout: post
title: Django Rest Framework Custom Permissions
---

Recommended Software Development Videos

2015, started watching videos in car. Big difference in quality over year.
These are some of the most influential videos I've seen in the last year.
I've watched about 100 conference videos in the last year.


[Beyond PEP 8 - <NAME>](https://www.youtube.com/watch?v=wf-BqAjZb8M&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=10)

An excellent discussion about how getting stuck in the details of syntax can
distract us from more important topics, especially in code reviews. Definitely
something I started thinking about after this talk. In addition, finally the
talk that switched me from double quoting variables to single quote (for the most part).

[Growing a Language - <NAME>](https://www.youtube.com/watch?v=_ahvzDzKdB0&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=11)

<NAME> is a master. This talk is so well formed. Whether or not you use
Java, I think Guy makes some excellent points and the form of the talk
supports all of his ideas. I don't want to spoil any more than that.

[Demanding Professionalism in Software Development - <NAME>](https://www.youtube.com/watch?v=p0O1VVqRSK0&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=12)

Un<NAME> is a polarizing figure. I think, in this talk, he sets out
a group of reasonable ideas.

[Real Software Engineering - <NAME>](https://www.youtube.com/watch?v=NP9AIUT9nos&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=15)

Engineers are held to different standards than other professions. Why is that?
What can we do to become better as engineers and software developers? 
What has gone wrong in our past?


[Inventing on Principle - <NAME>](https://www.youtube.com/watch?v=PUv66718DII&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=18)

<NAME>, phew. The ideas are amazing in this. Seeing him come up with
solutions to problems that have a different paradigm is cool to see. I found
that this challenged the way I thought about problems.

[Architecture, the Lost Years - <NAME>](https://www.youtube.com/watch?v=WpkDN78P884&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=22)

Another Uncle Bob talk. Architecture is the idea that we delay choosing until we must.
Does your software structure tell you anything about the software is constructed?
Thought provoking and my introduction to Uncle Bob.


[Simplicity Matters - <NAME>](https://www.youtube.com/watch?v=rI8tNMsozo0&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=27)

<NAME> seems like a treasure. The Closure community, and the software community as whole,
is lucky to have him tackling hard problems. 

[Transforming your Code into Beautiful, Idiomatic Python - <NAME>](https://www.youtube.com/watch?v=OSGv2VnC0go&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=38)

Phew, <NAME>er is my personal hero. Idiomatic Python!


[How to Design a Good API and Why it Matters - <NAME>](https://www.youtube.com/watch?v=heh4OeB9A-c&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=42)

TODO.

[Professional Productivity - <NAME>](https://www.youtube.com/watch?v=FS1mnISoG7U&index=38&list=LLlt4ZSW8NUcXLWiB3NMnK_w)

Email is where information goes to die.


[Fast Test, Slow Test - <NAME>](https://www.youtube.com/watch?v=RAxiiRPHS9k&index=88&list=LLlt4ZSW8NUcXLWiB3NMnK_w)

<NAME> is the man.


[The Magic Tricks of Testing - Sandi Metz](https://www.youtube.com/watch?v=URSWYvyc42M)

I've been going through a Sandi Metz phase lately. I think all of her videos
are excellent but this one has an idea that's stuck with me perhaps more than
the others, though Rules and


[All the Little Things - Sandi Metz](https://www.youtube.com/watch?v=8bZh5LMaSmE)

Got me thinking about small objects and OO design.


[Stop Writing Classes - <NAME>](https://www.youtube.com/watch?v=o9pEzgHorH0)

<NAME> makes some good points and some bad ones in here. I think, in
general, that I agree with his point and that if we can write small functions
instead of heavy-weight classes with a group of internal state, then we should do that.
If we find ourselves creating lots of similar methods, then that's probably
a class trying to escape.<commit_msg>Updating best of 2015 draft.<commit_after>---
layout: post
title: Django Rest Framework Custom Permissions
---

Recommended Software Development Videos

2015, started watching videos in car. Big difference in quality over year.
These are some of the most influential videos I've seen in the last year.
I've watched about 100 conference videos in the last year.


[Beyond PEP 8 - <NAME>](https://www.youtube.com/watch?v=wf-BqAjZb8M&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=10)

An excellent discussion about how getting stuck in the details of syntax can
distract us from more important topics, especially in code reviews. Definitely
something I started thinking about after this talk. In addition, finally the
talk that switched me from double quoting variables to single quote (for the most part).

[Growing a Language - <NAME>](https://www.youtube.com/watch?v=_ahvzDzKdB0&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=11)

<NAME> is a master. This talk is so well formed. Whether or not you use
Java, I think Guy makes some excellent points and the form of the talk
supports all of his ideas. I don't want to spoil any more than that.

[Demanding Professionalism in Software Development - <NAME>](https://www.youtube.com/watch?v=p0O1VVqRSK0&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=12)

Un<NAME> is a polarizing figure. I think, in this talk, he sets out
a group of reasonable ideas.

[Real Software Engineering - <NAME>](https://www.youtube.com/watch?v=NP9AIUT9nos&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=15)

Engineers are held to different standards than other professions. Why is that?
What can we do to become better as engineers and software developers? 
What has gone wrong in our past?


[Inventing on Principle - <NAME>](https://www.youtube.com/watch?v=PUv66718DII&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=18)

<NAME>, phew. The ideas are amazing in this. Seeing him come up with
solutions to problems that have a different paradigm is cool to see. I found
that this challenged the way I thought about problems.

[Architecture, the Lost Years - <NAME>](https://www.youtube.com/watch?v=WpkDN78P884&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=22)

Another Uncle Bob talk. Architecture is the idea that we delay choosing until we must.
Does your software structure tell you anything about the software is constructed?
Thought provoking and my introduction to Uncle Bob.


[Simplicity Matters - <NAME>](https://www.youtube.com/watch?v=rI8tNMsozo0&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=27)

<NAME> seems like a treasure. The Closure community, and the software community as whole,
is lucky to have him tackling hard problems. 

[Transforming your Code into Beautiful, Idiomatic Python - <NAME>](https://www.youtube.com/watch?v=OSGv2VnC0go&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=38)

Phew, <NAME> is my personal hero. Idiomatic Python!


[How to Design a Good API and Why it Matters - <NAME>](https://www.youtube.com/watch?v=heh4OeB9A-c&list=FLlt4ZSW8NUcXLWiB3NMnK_w&index=42)

TODO.

[Professional Productivity - <NAME>](https://www.youtube.com/watch?v=FS1mnISoG7U&index=38&list=LLlt4ZSW8NUcXLWiB3NMnK_w)

Email is where information goes to die.


[Fast Test, Slow Test - <NAME>](https://www.youtube.com/watch?v=RAxiiRPHS9k&index=88&list=LLlt4ZSW8NUcXLWiB3NMnK_w)

A number of my personal testing philosophies can be traced back to Gary
Bernhardt and to this talk in particular. It covers how test suites become
slow and fragile and how we can write tests that serve us by meeting the 
three primary goals of testing as he lays them out:

1. Prevent regressions
2. Prevent fear
3. Prevent bad design

This talk is a good introduction to high-level concepts in writing smaller, 
focused tests and taking test performance seriously.

[The Magic Tricks of Testing - Sandi Metz](https://www.youtube.com/watch?v=URSWYvyc42M)

I've been going through a Sandi Metz phase lately. I think all of her talks
are excellent but I think I found this one to be the most applicable.
Some highlights from her talk:

* Don't test private methods
* Isolate the method under test
* Lots of small objects makes testing easier

I don't agree with all of her points and I think that's okay.
It's good to get different perspectives.

[All the Little Things - Sandi Metz](https://www.youtube.com/watch?v=8bZh5LMaSmE)

The talk describes the value of small objects and the Open / Closed principle. It
illustrates how to refactor an app without tests and how to apply Open / Closed.
I started thinking about how to use smaller objects and how to use more traditional
Object Oriented design principles after watching this.


[Stop Writing Classes - <NAME>](https://www.youtube.com/watch?v=o9pEzgHorH0)

<NAME> makes some good points in here. I think, in
general, that I agree with his point and that if we can write small functions
instead of heavy-weight classes with a group of internal state, then we should do that.
If we find ourselves creating lots of similar methods, then that's probably
a class trying to escape.
{'fraction_non_alphanumeric': 0.07772480319325868, 'fraction_numerical': 0.021842776361015635, 'mean_word_length': 5.013333333333334, 'pattern_counts': {'":': 0, '<': 40, '<?xml version=': 0, '>': 40, 'https://': 28, 'lorem ipsum': 0, 'www.': 28, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4798116', 'n_tokens_mistral': 3055, 'n_tokens_neox': 2868, 'n_words': 1118}