Skip to content

Commit e4e4d5f

Browse files
committed
add new bots resources
1 parent 6526f02 commit e4e4d5f

File tree

8 files changed

+75
-19
lines changed

8 files changed

+75
-19
lines changed

content/pages/03-data/08-django-orm.markdown

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,11 @@ following resources should get you past the initial hurdles.
126126
shows a simple example with code for how to use the migrations integrated
127127
into Django 1.7.
128128

129+
* [Django Anti-Patterns: Signals](https://lincolnloop.com/blog/django-anti-patterns-signals/)
130+
explains why you should avoid using Django ORM's
131+
[signals](https://docs.djangoproject.com/en/dev/topics/signals/) feature
132+
in your applications if you want to make them easier to maintain.
133+
129134
* [Supporting both Django 1.7 and South](http://treyhunner.com/2014/03/migrating-to-django-1-dot-7/)
130135
explains the difficulty of supporting Django 1.7 and maintaining South
131136
migrations for Django 1.6 then goes into how it can be done.

content/pages/03-data/15-data-analysis.markdown

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,14 @@ libraries from scratch.
7777
go through during the exploration, synthesis, modeling and narration
7878
phases.
7979

80+
* [Forget privacy: you're terrible at targeting anyway](https://apenwarr.ca/log/20190201)
81+
is a different type of article. It is a strong piece of commentary rather
82+
than a tutorial on a specific data analysis topic. The author argues that
83+
*collecting* data is typically easy but doing the dirty analysis work often
84+
yields little in the way of definitive, actionable insight. Overall it's
85+
a well-written thought piece that will make you at least stop and ask
86+
yourself, "do we *really* need to collect this user data?"
87+
8088
* [Gender Distribution in North Korean Posters with Convolutional Neural Networks](http://digitalnk.com/blog/2017/09/30/gender-distribution-in-north-korean-posters/)
8189
is a fascinating post that uses convolutional neural networks as a
8290
mechanism to identify gender by faces in North Korean posters. The

content/pages/04-web-development/24-react.markdown

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@ tack on React to build your client-side user interfaces.
3636
quickly fall out of date while this one tends to stick to the basics
3737
that are relevant to beginners.
3838

39+
* This Modern Django 4-part tutorial series is well-done, has
40+
[freely available source code](https://github.com/v1k45/ponynote)
41+
and includes:
42+
43+
1. [Setting up Django and React](http://v1k45.com/blog/modern-django-part-1-setting-up-django-and-react/)
44+
2. [Redux and React Router setup](http://v1k45.com/blog/modern-django-part-2-redux-and-react-router-setup/)
45+
3. [Creating an API and integrating with React](http://v1k45.com/blog/modern-django-part-3-creating-an-api-and-integrating-with-react/)
46+
4. [Adding authentication to React SPA using DRF](http://v1k45.com/blog/modern-django-part-4-adding-authentication-to-react-spa-using-drf/)
47+
3948
* [Django REST with React (Django 2.0 and a sprinkle of testing)](https://www.valentinog.com/blog/tutorial-api-django-rest-react/)
4049
combines a [Django](/django.html) plus
4150
[Django REST Framework (DRF)](/django-rest-framework-drf.html) backend

content/pages/04-web-development/47-bots.markdown

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ information, to appropriately handle the request and respond. Bots are
1414
often also called "chatbots", "assistants" or "agents."
1515

1616

17-
## Open source Slack bot examples
17+
### Open source bot examples
1818
* [Limbo](https://github.com/llimllib/limbo) is an awesome Slack chatbot
1919
that provides a base for Python code that otherwise would require
2020
boilerplate to handle the Slack API events firehose.
@@ -23,21 +23,29 @@ often also called "chatbots", "assistants" or "agents."
2323
framework for building Slack bots with the Real Time Messaging (RTM) API
2424
over [WebSockets](/websockets.html).
2525

26+
* The
27+
[GitHub bots search results](https://github.com/search?utf8=%E2%9C%93&q=bots)
28+
and the [bots GitHub topic](https://github.com/topics/bots) contain tens of
29+
thousands of example bots you take analyze to see how they are built.
2630

27-
## Python-specific Bots resources
31+
* [Errbot](http://errbot.io/en/latest/) can work with
32+
[multiple backends](http://errbot.io/en/latest/features.html) such
33+
as Hipchat, Discord, Slack and Telegram. It's designed to be deployed
34+
"as is" except for your credentials but the
35+
[Python source code](https://github.com/errbotio/errbot)
36+
can also be customized.
37+
38+
39+
### Python-specific bot resources
2840
* [How to Buid an SMS Slack Bot](https://www.twilio.com/blog/2016/05/build-sms-slack-bot-python.html)
2941
is a tutorial on using
30-
[SMS text messages](http://www.fullstackpython.com/blog/send-sms-text-messages-python.html)
42+
[SMS text messages](/blog/send-sms-text-messages-python.html)
3143
to communicate with a Slack bot that can post and receive messages. The
3244
bot is a good base for a more complicated Slack bot that could use
3345
natural language processing or other more advanced parsing techniques.
3446
Either Python 2 or 3 can be used
3547
[with the code which is also available on GitHub](https://github.com/mattmakai/slack-api-python-examples).
3648

37-
* [How to write a Slack bot in Python](https://medium.com/@julianmartinez/how-to-write-a-slack-bot-with-python-code-examples-4ed354407b98)
38-
is a solid code tutorial for building your first bot on the Slack
39-
platform.
40-
4149
* [Dropbox open sourced their security Slack bot](https://blogs.dropbox.com/tech/2017/02/meet-securitybot-open-sourcing-automated-security-at-scale/),
4250
which is [built in Python](https://github.com/dropbox/securitybot).
4351
The bot converses with a user when backend systems detect strange behavior on
@@ -48,15 +56,19 @@ often also called "chatbots", "assistants" or "agents."
4856
[markovify](https://github.com/jsvine/markovify) Markov Chains library to
4957
generate responses that are similar to ones other Slack users have said.
5058

51-
* [A Slack bot with Python’s 3.5 asyncio](https://medium.com/@greut/a-slack-bot-with-pythons-3-5-asyncio-ad766d8b5d8f)
59+
* [A Slack bot with Python's asyncio](https://medium.com/@greut/a-slack-bot-with-pythons-3-5-asyncio-ad766d8b5d8f)
5260
shows how to connect a bot to Slack via the web API using the Python 3
5361
[asyncio standard library](https://docs.python.org/3/library/asyncio.html).
5462

5563
* [Facebook-Message-Bot](https://github.com/enginebai/Facebook-Message-Bot)
5664
is an open source Facebook Messenger bot written in Python.
5765

5866

59-
## Additional Bots resources
67+
### Additional Bots resources
68+
* [Bots: An introduction for developers](https://core.telegram.org/bots)
69+
explains the technical details of how to create
70+
[Telegram](https://telegram.org/) bots.
71+
6072
* [Slack bot token leakage exposing business critical information](https://labs.detectify.com/2016/04/28/slack-bot-token-leakage-exposing-business-critical-information/)
6173
is a detailed look at a search on GitHub for Slack tokens that are used
6274
mostly for bots but must be kept secret. Otherwise those tokens expose
@@ -74,3 +86,9 @@ often also called "chatbots", "assistants" or "agents."
7486
functionality are what has allowed bot concepts to bloom in Asian markets.
7587
There's a lot of good information in this post to unpack.
7688

89+
* [Principles of bot design](https://www.intercom.com/blog/principles-bot-design/)
90+
contains some general, common-sense ideas to keep in mind when building
91+
bots such as do not pretend to be a human (because it will be quickly
92+
discovered that your bot is not a human) and keep it as simple as possible
93+
so people can actually use the damn thing.
94+

content/pages/04-web-development/52-twilio.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,5 +113,5 @@ for fellow developers.
113113
#### Disclaimer
114114
I [currently work at Twilio](/about-author.html) on the
115115
[Developer Network](https://www.twilio.com/blog/2014/02/introducing-developer-evangelist-matt-makai.html)
116-
and run a program called [Twilio Voices](http://www.twiliovoices.com/).
116+
and run the [Developer Voices](http://www.twiliovoices.com/) team.
117117

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
title: AWS CodeStar
2+
category: page
3+
slug: aws-codestar
4+
sortorder: 0512
5+
toc: False
6+
sidebartitle: AWS CodeStar
7+
meta: AWS CodeStar is a platform-as-a-service and continuous delivery pipeline for running Python applications.
8+
9+
10+
# AWS CodeStar
11+
[AWS CodeStar](https://aws.amazon.com/codestar/) is a
12+
[platform-as-a-service](/platform-as-a-service.html) implementation
13+
and continuous delivery [deployment](/deployment.html) pipeline for
14+
running Python applications.
15+

content/pages/meta/02-about-author.markdown

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ meta: Learn more about the author of Full Stack Python, Matt Makai.
1111
[Full Stack Python](https://www.fullstackpython.com/) is coded and written by
1212
[Matt Makai](http://www.mattmakai.com/). Matt currently
1313
works in Washington, D.C. for the
14-
[Twilio Developer Network](https://www.twilio.com/blog/2014/02/introducing-developer-evangelist-matt-makai.html).
14+
[Twilio Developer Network](https://www.twilio.com/blog/2014/02/introducing-developer-evangelist-matt-makai.html)
15+
as head of the Developer Voices program.
1516

1617
Other projects by Matt include
17-
[The Full Stack Python Guide to Deployments](http://www.deploypython.com/),
18+
[The Full Stack Python Guide to Deployments](https://www.deploypython.com/),
1819
[Python for Entrepreneurs](https://training.talkpython.fm/courses/explore_entrepreneurs/python-for-entrepreneurs-build-and-launch-your-online-business),
19-
[Coding Across America](http://www.codingacrossamerica.com/),
20-
[Underwear](https://github.com/mattmakai/underwear) and
21-
[Choose Your Own Adventure Presentations](https://github.com/mattmakai/choose-your-own-adventure-presentations).
20+
[Introduction to Ansible](https://training.talkpython.fm/courses/explore_ansible/introduction-to-ansible-with-python)
21+
and
22+
[Coding Across America](http://www.codingacrossamerica.com/).
2223

2324
You can reach him by email at matthew.makai@gmail.com. Matt can't
2425
respond to every email, but he will do his best to reply when possible.
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
<h3>What do you need to know for your deployment?</h3>
1+
<h3>What's next after you deploy your application?</h3>
22
<div class="row">
33
<div class="c4">
44
<div class="well select-next">
5-
{% include "choices/buttons/best-python-resources.html" %}
5+
{% include "choices/buttons/caching.html" %}
66
</div>
77
</div>
88
<div class="c4">
99
<div class="well select-next">
10-
{% include "choices/buttons/databases.html" %}
10+
{% include "choices/buttons/monitoring.html" %}
1111
</div>
1212
</div>
1313
<div class="c4">
1414
<div class="well select-next">
15-
{% include "choices/buttons/introduction.html" %}
15+
{% include "choices/buttons/logging.html" %}
1616
</div>
1717
</div>
1818
</div>

0 commit comments

Comments
 (0)