Skip to content

Commit 329ad3f

Browse files
committed
add new data anlysis and bots resources
1 parent e4e4d5f commit 329ad3f

File tree

9 files changed

+180
-23
lines changed

9 files changed

+180
-23
lines changed

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,19 @@ libraries from scratch.
5757
* [Part 2: The Bad Stuff](https://www.locallyoptimistic.com/post/agile-analytics-p2/)
5858
* [Part 3: The Adjustments](https://www.locallyoptimistic.com/post/agile-analytics-p3/)
5959

60+
* [Learning Seattle's Work Habits from Bicycle Counts](https://jakevdp.github.io/blog/2015/07/23/learning-seattles-work-habits-from-bicycle-counts/)
61+
provides a great example of using open data, in this case
62+
[from the city of Seattle](https://data.seattle.gov/), messing with it
63+
using Python and [pandas](/pandas.html), then charting it using
64+
skikit-learn. You can do this type of analysis on almost any data set
65+
to find out its patterns.
66+
67+
* [Exploring the shapes of stories using Python and sentiment APIs](https://indico.io/blog/plotlines/)
68+
is a wonderful read with context for the problem being solved, plenty of
69+
insight into how to reproduce the results with your own code and a good
70+
number of charts that show how sentiment analysis can extract information
71+
from blocks of text.
72+
6073
* [How to automate creating high end virtual machines on AWS for data science projects](https://tsaprailis.com/2017/09/11/How-to-automate-creating-a-virtual-machine-for-data-science/)
6174
walks through setting up a
6275
[development environment](/development-environments.html) on Amazon Web
@@ -129,3 +142,11 @@ libraries from scratch.
129142
[fuzzywuzzy](https://github.com/seatgeek/fuzzywuzzy)
130143
and
131144
[gym](https://github.com/openai/gym).
145+
146+
* Nvidia's series on defining data analysis, machine learning and deep
147+
learning are worth reading for the background and how they break down
148+
the problem domains:
149+
150+
* [What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning?](https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/)
151+
* [Deep Learning in a Nutshell: History and Training](https://devblogs.nvidia.com/deep-learning-nutshell-history-training/)
152+
* [Deep Learning in a Nutshell: Core Concepts](https://devblogs.nvidia.com/deep-learning-nutshell-core-concepts/)

content/pages/04-web-development/40-networking.markdown

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,26 @@ meta: Understanding computer networking is critical to building reliable, perfor
1010
# Networking
1111
Computing networking is critical to building reliable, performant Python
1212
web applications.
13+
14+
15+
16+
### Resources about networking
17+
* [Monitoring and Tuning the Linux Networking Stack: Receiving Data](https://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/)
18+
along with
19+
[Monitoring and Tuning the Linux Networking Stack: Sending Data](https://blog.packagecloud.io/eng/2017/02/06/monitoring-tuning-linux-networking-stack-sending-data/)
20+
are incredibly detailed technical posts on the networking layer within
21+
Linux operating systems.
22+
23+
* [Computer networking](http://cnp3book.info.ucl.ac.be/) is a free book
24+
that explains how networking between computer systems works. There are
25+
also exercises for testing what you learned along the way.
26+
27+
* [What's the history behind 192.168.1.1? Why not 192.169.1.1 or any other IP address? When did it start being used? Who started it? Why? Why not 1.1.1.1? What is the relation to 127.0.0.1? What about 10.0.0.1 (Apple)?](https://www.quora.com/Whats-the-history-behind-192-168-1-1-Why-not-192-169-1-1-or-any-other-IP-address-When-did-it-start-being-used-Who-started-it-Why-Why-not-1-1-1-1-What-is-the-relation-to-127-0-0-1-What-about-10-0-0-1-Apple)
28+
is a nice answer on the history of IPv4 addressing and why various
29+
IP addresses such as 192.168.1.1 became standards for localhost or
30+
other local networking.
31+
32+
* [Dropbox traffic infrastructure: Edge network](https://blogs.dropbox.com/tech/2018/10/dropbox-traffic-infrastructure-edge-network/)
33+
explains how Dropbox uses edge-of-the-network resources closer to the
34+
end user to optimize performance of their service.
35+

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ often also called "chatbots", "assistants" or "agents."
5151
The bot converses with a user when backend systems detect strange behavior on
5252
one of their accounts to check if there has been a security breach.
5353

54+
* [Making a Reddit + Facebook Messenger Bot](https://pythontips.com/2017/04/13/making-a-reddit-facebook-messenger-bot/)
55+
builds a bot for two platforms and shows how to deploy it to Heroku.
56+
5457
* [Build a Slack Bot that Mimics Your Colleagues with Python](http://hirelofty.com/blog/how-build-slack-bot-mimics-your-colleague/)
5558
is a humorous post that uses the
5659
[markovify](https://github.com/jsvine/markovify) Markov Chains library to
@@ -63,12 +66,26 @@ often also called "chatbots", "assistants" or "agents."
6366
* [Facebook-Message-Bot](https://github.com/enginebai/Facebook-Message-Bot)
6467
is an open source Facebook Messenger bot written in Python.
6568

69+
* [Build a Reddit bot](https://www.pythonforengineers.com/build-a-reddit-bot-part-1/)
70+
is a four part tutorial series that starts with reading posts, continues
71+
with
72+
[replying to posts](https://www.pythonforengineers.com/build-a-reddit-bot-part-2-reply-to-posts/),
73+
[automating the bot](https://www.pythonforengineers.com/build-a-reddit-bot-part-3-automate-your-bot/)
74+
and finally
75+
[adding behavior and a personality to the bot](https://www.pythonforengineers.com/build-marvin-the-depressed-reddit-bot-in-python/).
76+
6677

6778
### Additional Bots resources
6879
* [Bots: An introduction for developers](https://core.telegram.org/bots)
6980
explains the technical details of how to create
7081
[Telegram](https://telegram.org/) bots.
7182

83+
* [Building better bots with AWS Lex: Part 1](https://aws.amazon.com/blogs/machine-learning/building-better-bots/)
84+
and
85+
[part 2](https://aws.amazon.com/blogs/machine-learning/building-better-bots-part-2/)
86+
show how to use Amazon's service offering for better natural language
87+
processing in your bots.
88+
7289
* [Slack bot token leakage exposing business critical information](https://labs.detectify.com/2016/04/28/slack-bot-token-leakage-exposing-business-critical-information/)
7390
is a detailed look at a search on GitHub for Slack tokens that are used
7491
mostly for bots but must be kept secret. Otherwise those tokens expose
@@ -79,6 +96,10 @@ often also called "chatbots", "assistants" or "agents."
7996
The piece doesn't have much technical depth but it's a good overview of
8097
how some businesses are looking at the opportunity.
8198

99+
* [Three challenges you’re going to face when building a chatbot](https://blog.infermedica.com/three-challenges-youre-going-to-face-when-building-a-chatbot/)
100+
provides insightful thoughts on problems to anticipate based on the
101+
author's experience building, deploying and scaling chatbots.
102+
82103
* [Bots won't replace apps](http://dangrover.com/blog/2016/04/20/bots-wont-replace-apps.html)
83104
is a fantastic piece by WeChat's product manager on how text-based bots
84105
alone typically do not provide a good user experience. Instead, chat
@@ -92,3 +113,5 @@ often also called "chatbots", "assistants" or "agents."
92113
discovered that your bot is not a human) and keep it as simple as possible
93114
so people can actually use the damn thing.
94115

116+
* [6 things I learned creating my own Messenger chatbot](https://kilianvalkhof.com/2017/chatbots/6-things-i-learned-creating-my-own-messenger-chatbot/)
117+
contains some solid general advice for building your custom bots.

content/pages/05-deployment/01-hosting.markdown

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,27 @@ one or more [servers](/servers.html), or a
1414

1515

1616
### Hosting resources
17-
* [Ready. Steady. Go! The speed of VM creation and SSH access on AWS, DigitalOcean, Linode, Vexxhost, Google Cloud, Rackspace and Microsoft Azure](https://blog.cloud66.com/ready-steady-go-the-speed-of-vm-creation-and-ssh-key-access-on-aws-digitalocean-linode-vexxhost-google-cloud-rackspace-and-microsoft-azure/)
18-
and
19-
[Comparing the speed of VM creation and SSH access of cloud providers](https://blog.cloud66.com/part-2-comparing-the-speed-of-vm-creation-and-ssh-access-on-aws-digitalocean-linode-vexxhost-google-cloud-rackspace-packet-cloud-a-and-microsoft-azure/)
20-
are one way to measure some of the infrastructure speed provided by several
21-
cloud vendors. The virtual machine and SSH access data points are taken in
22-
multiple regions. It's unclear how these metrics would change over time based
23-
on backend tweaks made by each provider.
24-
25-
* The [State of Cloud Instance Provisioning](https://ahmet.im/blog/cloud-instance-provisioning/)
26-
explains the tools and operations behind how AWS,
27-
[DigitalOcean](/digitalocean.html), Google Cloud and Microsoft Azure stand up
28-
virtual machine instances for you to use.
29-
30-
* [VPS $5 Showdown - October 2018 - DigitalOcean vs. Lightsail vs. Linode vs. Vultr](https://joshtronic.com/2018/10/15/vps-showdown-october-2018/)
31-
compares and contrasts the cheapest options for four popular virtual
32-
private server providers.
33-
34-
* [VPS comparisons](https://github.com/joedicastro/vps-comparison) uses
35-
[Ansible](/ansible.html) to get some data around provisioning speed
36-
and system performance. The whole
37-
[README](https://github.com/joedicastro/vps-comparison/blob/master/README.org)
38-
file in that repository has a ton of useful information and summaries
39-
of the tested providers.
17+
* [An engineer’s guide to cloud capacity planning](https://increment.com/cloud/an-engineers-guide-to-cloud-capacity-planning/)
18+
is a wonderful article that discusses on-demand provisioning, horizontal
19+
and vertical scaling and how to estimate performance of your infrastructure.
20+
21+
* [Selecting a cloud provider](https://codeascraft.com/2018/01/04/selecting-a-cloud-provider/)
22+
reviews Etsy's decisionmaking around self-hosted infrastructure versus
23+
cloud hosting. They put together an architectural model and ultimately
24+
decided to start migrating over to Google Cloud Platform.
25+
26+
* [Going Multi-Cloud with AWS and GCP: Lessons Learned at Scale](https://metamarkets.com/2017/big-cloud-data-aws-and-gcp/)
27+
covers the compute, networking, persistent storage, billing and
28+
failover aspects of using more than one infrastructure provider.
29+
30+
* [Auth0 Architecture: Running In Multiple Cloud Providers And Regions](http://highscalability.com/blog/2018/8/27/auth0-architecture-running-in-multiple-cloud-providers-and-r.html)
31+
explains their multi-cloud architecture and how it has evolved over the
32+
past several years.
33+
34+
* [Choose A Cloud](https://www.chooseacloud.com/) has a few posts with
35+
charts for easy cross-cloud comparisons pricing on features such as
36+
[persistent storage](https://www.chooseacloud.com/objectstorage).
37+
38+
* [How Netlify migrated to a fully multi-cloud infrastructure](https://www.netlify.com/blog/2018/05/14/how-netlify-migrated-to-a-fully-multi-cloud-infrastructure/)
39+
is another story post about developing a multi-cloud architecture and
40+
the considerations for disaster recovery, databases and testing.

content/pages/05-deployment/05-vps.markdown

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,27 @@ A few providers I currently use to host my Python web applications:
3939
* [Amazon Web Services' Lightsail](https://amazonlightsail.com/)
4040

4141

42+
### VPS comparisons
43+
* [Ready. Steady. Go! The speed of VM creation and SSH access on AWS, DigitalOcean, Linode, Vexxhost, Google Cloud, Rackspace and Microsoft Azure](https://blog.cloud66.com/ready-steady-go-the-speed-of-vm-creation-and-ssh-key-access-on-aws-digitalocean-linode-vexxhost-google-cloud-rackspace-and-microsoft-azure/)
44+
and
45+
[Comparing the speed of VM creation and SSH access of cloud providers](https://blog.cloud66.com/part-2-comparing-the-speed-of-vm-creation-and-ssh-access-on-aws-digitalocean-linode-vexxhost-google-cloud-rackspace-packet-cloud-a-and-microsoft-azure/)
46+
are one way to measure some of the infrastructure speed provided by several
47+
cloud vendors. The virtual machine and SSH access data points are taken in
48+
multiple regions. It's unclear how these metrics would change over time based
49+
on backend tweaks made by each provider.
50+
51+
* The [State of Cloud Instance Provisioning](https://ahmet.im/blog/cloud-instance-provisioning/)
52+
explains the tools and operations behind how AWS,
53+
[DigitalOcean](/digitalocean.html), Google Cloud and Microsoft Azure stand up
54+
virtual machine instances for you to use.
55+
56+
* [VPS $5 Showdown - October 2018 - DigitalOcean vs. Lightsail vs. Linode vs. Vultr](https://joshtronic.com/2018/10/15/vps-showdown-october-2018/)
57+
compares and contrasts the cheapest options for four popular virtual
58+
private server providers.
59+
60+
* [VPS comparisons](https://github.com/joedicastro/vps-comparison) uses
61+
[Ansible](/ansible.html) to get some data around provisioning speed
62+
and system performance. The whole
63+
[README](https://github.com/joedicastro/vps-comparison/blob/master/README.org)
64+
file in that repository has a ton of useful information and summaries
65+
of the tested providers.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
title: Containers
2+
category: page
3+
slug: containers
4+
sortorder: 0535
5+
toc: False
6+
sidebartitle: Containers
7+
meta: Containers are a concept where processes are run isolated on a operating system.
8+
9+
10+
# Containers
11+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<h3>What do you want to learn next about web development?</h3>
2+
<div class="row">
3+
<div class="c4">
4+
<div class="well select-next">
5+
{% include "choices/buttons/continuous-integration.html" %}
6+
</div>
7+
</div>
8+
<div class="c4">
9+
<div class="well select-next">
10+
{% include "choices/buttons/monitoring.html" %}
11+
</div>
12+
</div>
13+
<div class="c4">
14+
<div class="well select-next">
15+
{% include "choices/buttons/logging.html" %}
16+
</div>
17+
</div>
18+
</div>

theme/templates/choices/macos.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<h3>What's next after setting up macOS?.</h3>
2+
<div class="row">
3+
<div class="c4">
4+
<div class="well select-next">
5+
{% include "choices/buttons/application-dependencies.html" %}
6+
</div>
7+
</div>
8+
<div class="c4">
9+
<div class="well select-next">
10+
{% include "choices/buttons/web-servers.html" %}
11+
</div>
12+
</div>
13+
<div class="c4">
14+
<div class="well select-next">
15+
{% include "choices/buttons/django.html" %}
16+
</div>
17+
</div>
18+
</div>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<h3>What's next after setting up macOS?.</h3>
2+
<div class="row">
3+
<div class="c4">
4+
<div class="well select-next">
5+
{% include "choices/buttons/application-dependencies.html" %}
6+
</div>
7+
</div>
8+
<div class="c4">
9+
<div class="well select-next">
10+
{% include "choices/buttons/web-servers.html" %}
11+
</div>
12+
</div>
13+
<div class="c4">
14+
<div class="well select-next">
15+
{% include "choices/buttons/django.html" %}
16+
</div>
17+
</div>
18+
</div>

0 commit comments

Comments
 (0)