<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mikey Battiston</title>
    <description>The latest articles on DEV Community by Mikey Battiston (@mikey).</description>
    <link>https://dev.to/mikey</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F138240%2F7e582650-17ec-4477-98e0-f4c0e7d0aa5b.png</url>
      <title>DEV Community: Mikey Battiston</title>
      <link>https://dev.to/mikey</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mikey"/>
    <language>en</language>
    <item>
      <title>Cultural Hegemony In Workplace Culture</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Tue, 13 Apr 2021 21:02:00 +0000</pubDate>
      <link>https://dev.to/mikey/cultural-hegemony-in-workplace-culture-233m</link>
      <guid>https://dev.to/mikey/cultural-hegemony-in-workplace-culture-233m</guid>
      <description>&lt;p&gt;A long time ago I wrote this little thing and&lt;br&gt;
I just re-read it and&lt;br&gt;
I still stand by it; &lt;br&gt;
&lt;strong&gt;ham-fisted indifference is the saturation stain of arrogance and slimy irreverence in a culture; a signal to the dehumanised that they still mean nothing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Please continue reading, it's good for you!&lt;/p&gt;

&lt;h2&gt;
  
  
  The global survey
&lt;/h2&gt;

&lt;p&gt;On the 7th of October, 2020 - the team at Slack &lt;a href="https://slack.com/intl/en-gb/blog/collaboration/workplace-transformation-in-the-wake-of-covid-19" rel="noopener noreferrer"&gt;posted a thing on their blog&lt;/a&gt;, which discusses &lt;em&gt;"New data from a &lt;em&gt;global&lt;/em&gt; survey of more than 9,000 knowledge workers"&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;In the article, the term &lt;code&gt;global&lt;/code&gt; is used to misrepresent the survey data. The survey was not &lt;code&gt;global&lt;/code&gt; because only people in the following continents were surveyed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;North America&lt;/li&gt;
&lt;li&gt;Europe&lt;/li&gt;
&lt;li&gt;Asia&lt;/li&gt;
&lt;li&gt;Australia&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We see this also, when presenting the data on a World Map®; further indicating that the authors don't use &lt;code&gt;global&lt;/code&gt; as it relates to 'whole of the set of knowledge workers which were surveyed', but rather as it relates to 'the whole world'. This is a misrepresentation of 'the geographical distribution of the whole set of knowledge workers which were surveyed'.&lt;/p&gt;

&lt;p&gt;Using the term &lt;code&gt;global&lt;/code&gt; as an aggregate for "America, Asia, Australia and Europe" is not only misleading, but - when considering the context of the article: remote work and working from home; it is also a stark reminder that cultural hegemony in the workplace pervades the very homes of the very people marginalised by it.&lt;/p&gt;

&lt;p&gt;Looking at the presentation of the survey data on the World Map®, I see ham-fisted indifference exemplified by the placement of labels for European and North American statistics directly on top of Africa and South America; adding insult to injury.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fui1gi3rg5tczhgtqb5b4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fui1gi3rg5tczhgtqb5b4.png" alt="image" width="800" height="637"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Slack's idea of global doesn't include three of the continents on this planet
&lt;/h3&gt;

&lt;p&gt;To me, this says "While South America &amp;amp; Africa do exist, on some level, not one thing that anyone has to say on either continent really matters".&lt;/p&gt;

&lt;h3&gt;
  
  
  At least they removed Antarctica
&lt;/h3&gt;

&lt;p&gt;You may have noticed that Antarctica was not included in the survey and was removed altogether from the World Map®. As confusing as the decision to exclude Antarctica from the World Map® may be, at least it was given some thought. Maybe Slack should have just removed South America and Africa? Oh wait, but then where would the labels go?&lt;/p&gt;

&lt;h2&gt;
  
  
  I keep updating this shit
&lt;/h2&gt;

&lt;p&gt;Over the years I've been updating to better express myself and the consequences of this terrible thingy that I'm writing about. I'll keep at it until I'm satisfied. At this stage, there are a lot of ways in which I can improve this doc and I will continue doing so :) It's so infuriating to write about and it's an extremely emotional topic for me, so I can only spend short amounts of time on it.&lt;/p&gt;

</description>
      <category>racism</category>
      <category>workpaceculture</category>
      <category>culturalhegemony</category>
      <category>slack</category>
    </item>
    <item>
      <title>Please, I Need Help</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Mon, 23 Nov 2020 06:30:53 +0000</pubDate>
      <link>https://dev.to/mikey/please-i-need-help-2913</link>
      <guid>https://dev.to/mikey/please-i-need-help-2913</guid>
      <description>&lt;p&gt;How do I unfollow multiple tags in one go? :0 &lt;/p&gt;

</description>
      <category>help</category>
      <category>meta</category>
      <category>tags</category>
    </item>
    <item>
      <title>Opt-in TransparEvancy</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Tue, 19 May 2020 01:34:23 +0000</pubDate>
      <link>https://dev.to/mikey/opt-in-transparevancy-6k0</link>
      <guid>https://dev.to/mikey/opt-in-transparevancy-6k0</guid>
      <description>&lt;h1&gt;
  
  
  HI EVAN IT'S MIKE
&lt;/h1&gt;

&lt;p&gt;Explaining Opt-in Transparency in our texts would have definitely taken up wayyyyyyyyyyyyy too much space, not because it's complex, but because texts have a way of getting HUGE. Anyway, I figured I'd chuck this together  quickly and just link to it in our text exchange :) &lt;/p&gt;

&lt;h2&gt;
  
  
  mmmm okay so what is it then?
&lt;/h2&gt;

&lt;p&gt;Opt-in transparency is a technique for managing asynchronous communications so that people can kind-of manage their own level of participation in an internal decision, project, task, or whatever. &lt;/p&gt;

&lt;p&gt;By using certain tools, which you may already be using, you can document the context in which designs and decisions are made. Moreover, if this documentation is made widely accessible within an organisation, people with an interest in the design or decision, can view the contextual information surrounding it. &lt;/p&gt;

&lt;p&gt;tbh, that's really it; however, it's probably worth adding that certain ways of doing opt-in transparency - or certain tools you might use to implement it, allow people to participate more actively, in the process by which the designs and decisions are made, rather than simply understand the context behind them. &lt;/p&gt;

&lt;h2&gt;
  
  
  Hope that helps! If not tho...
&lt;/h2&gt;

&lt;p&gt;Zach Holman wrote a &lt;a href="https://zachholman.com/posts/opt-in-transparency/" rel="noopener noreferrer"&gt;lil article&lt;/a&gt; about this in 2015. In this article, Zach mentions that Opt-in transparency was created to allow a company to be "fully open as an organization, but not force that openness upon everyone by default".&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Embodiment through Python 2 Pingdom Contact Management</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Wed, 15 Apr 2020 17:44:09 +0000</pubDate>
      <link>https://dev.to/mikey/junk-becoming-managing-pingdom-check-contacts-jh4</link>
      <guid>https://dev.to/mikey/junk-becoming-managing-pingdom-check-contacts-jh4</guid>
      <description>&lt;h1&gt;
  
  
  Managing Pingdom Check Contact Info
&lt;/h1&gt;

&lt;p&gt;Hello and good morning to you and your family!&lt;/p&gt;

&lt;h2&gt;
  
  
  I Made This A Long Time Ago  &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This is an overview of some old code and some other comments about things of that nature. &lt;/p&gt;

&lt;p&gt;Throughout this document I refer to this section in apology for not having the better sense to write the code better in the first place. &lt;/p&gt;

&lt;h2&gt;
  
  
  Junk Becoming and Code Overview
&lt;/h2&gt;

&lt;p&gt;The Python code here is about four years old and isn't what I would call "good", or "secure"; however, &lt;em&gt;it is&lt;/em&gt; what I would call, "junk". Honestly, it's probably better for your health to avoid using the code, but I can't stop you... You're too powerful.&lt;/p&gt;

&lt;h3&gt;
  
  
  If it's junk, why keep it?
&lt;/h3&gt;

&lt;p&gt;Well, yeah! Right?! you're totally right! I should just delete it!&lt;/p&gt;

&lt;p&gt;Look, I get it, I'm sure this kind of junk seems verrrry static, in the sense that it may appear to be nothing more than inanimate, slivers of a past frame of mind - an incorrect one at that; so moved-on from that it's rarely thought of, if not forgotten entirely. Revived only in context to how it can be learned from, it's thrashed though cycles of revival, wasteful analysis and re-use. How can junk be anything other than static?&lt;/p&gt;

&lt;h3&gt;
  
  
  Junk Becoming
&lt;/h3&gt;

&lt;p&gt;I'm sentimental lil' froggy, and I'm imaginative too! I love the idea that the things I hold onto are powerful fibres of embodiment - past, current and future;  slivers - cleaned and combed, becoming the yarn through which my cognition is weaved into a body; my body, which is sewn in thread of the same yarn. This is not static junk, it's just as becoming as I am! &lt;em&gt;It's part of me&lt;/em&gt;, yet it's distinct from me - becoming in its own right; as the Python junk code and myself are compositional wholes. That is, I am a whole, of which - in part, is comprised of this junk; and this junk, is also a whole, which - in part, is comprised of me. &lt;/p&gt;

&lt;p&gt;Are the junk and myself compositional to something else? in turn compositionally whole? Absolutely! or, probably, at least. &lt;code&gt;¯\_(ツ)_/¯&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Okay, buddy...
&lt;/h4&gt;

&lt;p&gt;Maybe it's cheezy2u but ^that's^ really how I feeL!! &lt;/p&gt;

&lt;p&gt;Also, ummmmm I initially made this gist public and updated the README because I would repeatedly come across this code, as it was stored in a secret gist, named README.md. This was more than enough to entice me to open it, &lt;strong&gt;every. single. time.&lt;/strong&gt; and either feel nostalgic about&lt;br&gt;
how much fun I had writing this small automation, or anxious at how many&lt;br&gt;
problems there were with it.&lt;/p&gt;

&lt;p&gt;Eventually, I decided to update the gist so that I'll always know what it is, just by looking at the name.&lt;/p&gt;

&lt;p&gt;Eventuallyier, I decided to update the gist so that this README appeared above the code and I figured while I'm at it, why not share a little about myself?&lt;/p&gt;
&lt;h3&gt;
  
  
  So what does the code does?
&lt;/h3&gt;

&lt;p&gt;Well, this here code was built to automate the rotation of a Pingdom alert's contact. The code is a Python 2 script, which executes the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reads a configuration file for a list of Pingdom alert &amp;amp; contact information&lt;/li&gt;
&lt;li&gt;Retrieving the first contact in the list&lt;/li&gt;
&lt;li&gt;Updates the Pingdom alert with the retrieved contact information&lt;/li&gt;
&lt;li&gt;Moves the retrieved contact to the end of the list&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Why does it do what it does?
&lt;/h3&gt;

&lt;p&gt;The script was created to be run periodically, with the goal of implementing the concept of an on-call roster.&lt;/p&gt;

&lt;p&gt;Alternatively, the script can be used in an ad-hoc fashion to simply replace a Pingdom alert's contact with another contact.&lt;/p&gt;
&lt;h2&gt;
  
  
  Configuration
&lt;/h2&gt;

&lt;p&gt;Let's talk about how this thing is configured, or was it &lt;em&gt;how to configure this thing&lt;/em&gt;? I can't remember :0&lt;/p&gt;
&lt;h3&gt;
  
  
  config.yaml &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;auth&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;account-email&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;’someone@email.com'&lt;/span&gt;
  &lt;span class="na"&gt;app-key&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;‘1234567890'&lt;/span&gt;
  &lt;span class="na"&gt;credentials&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;01234567890123456789012345678901234567890123456789012345'&lt;/span&gt;
&lt;span class="na"&gt;check_id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;1234567'&lt;/span&gt;
&lt;span class="na"&gt;contacts&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;123456'&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Ikey&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Battistonm'&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;123457'&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Mikey&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Battiston'&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;123458'&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Bikey&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Mattiston'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  This Script Modifies Your Configuration File
&lt;/h3&gt;

&lt;p&gt;Whether you use a different configuration path or use the default location for your configuration file, this script will modify the file.&lt;/p&gt;

&lt;p&gt;After the script updates the contact information for a Pingdom Check,&lt;br&gt;
it removes the contact from the sequence of mappings in the configuration file and then re-adds the contact to the end of the sequence of mappings. That is, it &lt;em&gt;moves&lt;/em&gt; the contact from one position, to another (in the sequence of mappings).&lt;/p&gt;

&lt;p&gt;I'm so sorry&lt;/p&gt;
&lt;h3&gt;
  
  
  Using your own config
&lt;/h3&gt;

&lt;p&gt;You may pass in your own configuration file with the &lt;code&gt;-c&lt;/code&gt; option but you don't need to, as by default, the script will try to read ./config.yaml for it's configuration.&lt;/p&gt;
&lt;h3&gt;
  
  
  Configuration Attributes
&lt;/h3&gt;

&lt;p&gt;This describes the configuration itself and what it represents for&lt;br&gt;
an example of the configuration, see config.yaml.&lt;/p&gt;

&lt;p&gt;The script expects that the configuration is specified in a Yaml file.&lt;br&gt;
The Yaml file must consist of the following top-level mappings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;auth:&lt;/strong&gt; Represents the authentication information used by the script to connect to Pingdom.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;auth&lt;/strong&gt; maps a set of three mappings, which are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;account-email:&lt;/strong&gt; Your Pingdom account's email address&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;app-key:&lt;/strong&gt; One of your Pingdom account's app-keys&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;credentials:&lt;/strong&gt; The secret key to the app-key you used in auth.app-key&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;check_id&lt;/strong&gt;: Represents which represents the ID of the Pingdom Check you want to manage the contact information of.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;contacts:&lt;/strong&gt; Represents the contact information to be used, by the script, to modify the contact information of the Pingdom Check specified by check_id.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;contacts&lt;/strong&gt; maps to a sequence of mappings, each mapping in the sequence maps to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;id:&lt;/strong&gt; A string which represents a contact's ID.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;name:&lt;/strong&gt; A string which represents the name of a contact.
The contact who's name is specified should have an ID which matches the ID which is specified in the same mapping as the contact's name. Confusing, I'm sorry :)
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;This is what the main junk pile looks like&lt;/p&gt;
&lt;h3&gt;
  
  
  update_pingdom_contact.py &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;__author__&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Mikey B&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
&lt;span class="n"&gt;__version__&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;0.0.1&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
&lt;span class="n"&gt;__purpose__&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Automating the rotation of contacts for pingdom alerts&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
&lt;span class="nf"&gt;print &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__purpose__&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;yaml&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;urllib2&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;argparse&lt;/span&gt;

&lt;span class="n"&gt;parser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;argparse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;ArgumentParser&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;parser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add_argument&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;-o&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;--config_file&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;nargs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;?&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;const&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;config.yaml&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;default&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;config.yaml&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;required&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;args&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse_args&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;config_file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;config_file&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_config&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Attempting to open %s for reading&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;config_file&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;%s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;config_file&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;config_file_stream&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;yaml&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;config_file_stream&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;modify_contact_in_pingdom_check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt;           &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;app_key&lt;/span&gt;       &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;app-key&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;check_id&lt;/span&gt;      &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;check_id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;contact_id&lt;/span&gt;    &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;contact_id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;credentials&lt;/span&gt;   &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;credentials&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;account_email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;account-email&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Making request to modify contact in check: %s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;check_id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;opener&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;build_opener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;urllib2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;HTTPSHandler&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;contactids&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;%s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;contact_id&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;urlencode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;App-Key&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;       &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;app_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Account-Email&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;account_email&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Authorization&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Basic %s&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;credentials&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="n"&gt;request&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_method&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;lambda&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;PUT&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
        &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;opener&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;body&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;code&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getcode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="n"&gt;urllib2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;HTTPError&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
         &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;body&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;code&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getcode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;cycle_contacts&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Attempting to open %s for writing&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;config_file&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;%s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;config_file&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;config_file_stream&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;yaml&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;config_file_stream&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;contact_to_rotate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;contacts&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;contacts&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;contact_to_rotate&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;%s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;config_file&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;w&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;config_file_stream&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;yaml&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dump&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;config_file_stream&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;default_flow_style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;contact&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;contacts&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;contact&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Getting config from %s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;config_file&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_config&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Done.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Error: Unable to retrieve config from %s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;config_file&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;
        &lt;span class="nf"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Getting next contact...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;contact&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;contacts&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Done. Next contact is %s, id: %s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;contact&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;contact&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Error: Unable to retrieve contact&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;
        &lt;span class="nf"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Getting check id...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;check_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;check_id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Done. Updating check: %s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;check_id&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Error: Unable to retrieve check_id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;
        &lt;span class="nf"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;           &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.pingdom.com/api/2.0/checks/%s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;check_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;check_id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;      &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;check_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;contact_id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;    &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;contact&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;credentials&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;   &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;auth&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;credentials&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;app-key&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;       &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;auth&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;app-key&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;account-email&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;auth&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;account-email&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;modify_contact_in_pingdom_check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;code&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Error: %s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nf"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Success: %s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;

    &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Rotating contacts...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;next_contact&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;cycle_contacts&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Done. Next contact will be  %s, id: %s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;next_contact&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;next_contact&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Error: Unable to rotate contacts in %s&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;config_file&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;
        &lt;span class="nf"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="nf"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;If you want to use the script, here's how to do it and what to expect...&lt;/p&gt;
&lt;h4&gt;
  
  
  Put The Top Down 4 Some Ventilation
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Touchscreen Navigate to config.yaml and download that&lt;br&gt;
 config!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Touchscreen Navigate to&lt;br&gt;
 update_pingdom_contact.py and&lt;br&gt;
 download that script!&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Do it now!&lt;/p&gt;
&lt;h4&gt;
  
  
  Chuck In Your Own Config Values
&lt;/h4&gt;

&lt;p&gt;Please, if any part of you still loves me, do as I say...&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open your new config.yaml file in your least fav editor&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Overwrite the values for each of the three mappings in the auth mapping&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Overwrite the value of the check_id mapping&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Overwrite the values for each of the two mappings within each of the three sequence elements in the contacts mapping&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Okay, one last favour :0 please save your work ;) Thank me later (;&lt;/p&gt;
&lt;h4&gt;
  
  
  But Don't Use Python 3
&lt;/h4&gt;

&lt;p&gt;This script probably won't work with Python 3 (please believe and understand,&lt;br&gt;
I Made This A Long Time Ago)&lt;/p&gt;
&lt;h4&gt;
  
  
  Executing The Script
&lt;/h4&gt;

&lt;p&gt;Simply run &lt;code&gt;python update_contact_in_pingdom_check.py&lt;/code&gt; in your terminal.&lt;/p&gt;

&lt;p&gt;Or, if you're passing in a config file, try:&lt;br&gt;
&lt;code&gt;python update_contact_in_pingdom_check.py -c /path/to/config.yaml&lt;/code&gt; in your terminal.&lt;/p&gt;
&lt;h4&gt;
  
  
  When The Script Fails
&lt;/h4&gt;

&lt;p&gt;If the update fails, in any way, it will not rotate any contacts it hasn't already rotated. How confusing and annoying!&lt;/p&gt;
&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;

&lt;p&gt;While you'll &lt;em&gt;probably&lt;/em&gt; observe &lt;em&gt;some&lt;/em&gt; differences, like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contact IDs&lt;/li&gt;
&lt;li&gt;Contact Names&lt;/li&gt;
&lt;li&gt;Check ID&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You should see something like following text in the output of the Python script&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Automating the rotation of a contacts for pingdom alerts
Getting config from config.yaml
Attempting to open config.yaml for reading
Done.

Getting next contact...
Done. Next contact is Mike Mudstone , id: 420666

Getting check id...
Done. Updating check: 6966669

Making request to modify contact in check: 6966669
Success: {'body': '{"message":"Modification of check was successful!"}',
'code': 200}

Rotating contacts...
Attempting to open config.yaml for writing
Done. Next contact will be Steven Robinson ASE, editor of First Contact;
Not to be confused with this script, which is merely the editor of...
The first contact... of your config.yaml ;)
Oh yeah, id: 123457
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Please Like and Subscribe
&lt;/h2&gt;

&lt;p&gt;Thank you for your time and the grace of your loving energy&lt;/p&gt;

&lt;h3&gt;
  
  
  A Word From My Sponsors
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;May your neighbours respect you,&lt;br&gt;
Trouble neglect you,&lt;br&gt;
Angels protect you,&lt;br&gt;
And heaven accept you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;- Drake&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  GoodBye
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Love From&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Mikey B&lt;/em&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>embodiment</category>
      <category>philosophy</category>
    </item>
    <item>
      <title>Insecurity and Branching Strategies</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Sun, 19 Jan 2020 15:15:56 +0000</pubDate>
      <link>https://dev.to/mikey/insecurity-and-branching-strategies-3alj</link>
      <guid>https://dev.to/mikey/insecurity-and-branching-strategies-3alj</guid>
      <description>&lt;p&gt;Suddenly, you find that you're in front of your mind, looking back at it. It's just standing there, completely halted and unresponsive; staring at seemingly  innocuous slack posts. &lt;/p&gt;

&lt;p&gt;Rolling your mind into a carpet and sliding it down, via your ear, into your head; your mind fills you in on it's distraction:&lt;/p&gt;

&lt;p&gt;It really doesn't matter whether you prefer GitHub Flow to Trunk Based Development, or any other branching strategy for that matter. &lt;/p&gt;

&lt;p&gt;Once you're on board with the notion that branching strategies are just specifically applied as a means to mitigate the risks associated with a lack of test automation, "bad team design" or "planning issues", you're already beginning to feel that slow wave of discontent and you're already suspecting there's probably more to it. &lt;/p&gt;

&lt;p&gt;Now that you're not distracted, consider that branching strategies are artefacts of an indulgence in the avoidance of insecurities. Insecurities that come with the responsibility of facing difficult questions.&lt;/p&gt;

&lt;p&gt;Now consider the difficult questions&lt;/p&gt;

&lt;p&gt;Now face them!&lt;/p&gt;

</description>
      <category>git</category>
      <category>gitflow</category>
      <category>branchingstrategies</category>
      <category>githubflow</category>
    </item>
    <item>
      <title>I updated my resume</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Tue, 26 Nov 2019 05:07:48 +0000</pubDate>
      <link>https://dev.to/mikey/i-updated-my-resume-3ln7</link>
      <guid>https://dev.to/mikey/i-updated-my-resume-3ln7</guid>
      <description>&lt;p&gt;&lt;em&gt;finally!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mikey.battiston.biz/cv" rel="noopener noreferrer"&gt;https://mikey.battiston.biz/cv&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope you like to read about me!&lt;/p&gt;

</description>
      <category>4hire</category>
      <category>resume</category>
      <category>hireme</category>
    </item>
    <item>
      <title>&lt;br /&gt; beats 4 tha web a1s out there</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Mon, 18 Nov 2019 23:10:32 +0000</pubDate>
      <link>https://dev.to/mikey/br-beats-4-tha-web-a1s-out-there-pcn</link>
      <guid>https://dev.to/mikey/br-beats-4-tha-web-a1s-out-there-pcn</guid>
      <description>&lt;p&gt;Body markdown&lt;br&gt;
Body markdown&lt;br&gt;
We be body markdown&lt;/p&gt;

&lt;p&gt;Body markdown&lt;br&gt;
Body markdown&lt;br&gt;
We be body markdown&lt;/p&gt;

&lt;p&gt;BodyBodyBodyBodyBodyBodyBodyBody&lt;/p&gt;

&lt;p&gt;BodyBodyBodyBodyBodyBodyBodyBody&lt;/p&gt;

&lt;p&gt;Body markdown &lt;br&gt;
Body markdown&lt;/p&gt;

&lt;h1&gt;
  
  
  h1 is a pound
&lt;/h1&gt;

&lt;h2&gt;
  
  
  and a h2 is just two of 'em
&lt;/h2&gt;

</description>
      <category>markdown</category>
      <category>body</category>
      <category>a1</category>
      <category>h2</category>
    </item>
    <item>
      <title>Giving That Water Away: On Not Having To Call When You're Addicted To The Shindig</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Sun, 20 Oct 2019 01:07:55 +0000</pubDate>
      <link>https://dev.to/mikey/giving-that-water-away-on-not-having-to-call-when-you-re-addicted-to-the-shindig-507</link>
      <guid>https://dev.to/mikey/giving-that-water-away-on-not-having-to-call-when-you-re-addicted-to-the-shindig-507</guid>
      <description>&lt;p&gt;Some people can't stop! They write too much and they forget to read something other than what they've written. These are the people I wish to bind to this texts context. So, if you’re here, it’s because I summoned you - so listen up!&lt;/p&gt;

&lt;p&gt;Some people expect you to do a little dance and sometimes you do a little dance; however, Usher would want us to consider that sometimes: &lt;em&gt;"situations will arise, in your life, when you gotta be smart about it"&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Moreover, Usher would encourage you to consider the other side of that coin: A little dance taking place without you doesn't mean that the dancers don't think the world of you! It also doesn't mean they're &lt;em&gt;"addicted to the shindig"&lt;/em&gt;!&lt;/p&gt;

&lt;p&gt;If you're ever feeling like you're doing a little dance, or that someone close to you is doing a little dance, you might just want to drink a little water. Well, what are you waiting for? Get your buddy to get you one! Hell, I'll even get one for you! :^)&lt;/p&gt;

&lt;p&gt;If you don't want the water, give it away!&lt;/p&gt;

</description>
      <category>rhcp</category>
      <category>usher</category>
      <category>business</category>
      <category>professionalism</category>
    </item>
    <item>
      <title>Hella Resorsaz 4 Thomas 2Get Started With AWS</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Wed, 07 Aug 2019 15:04:01 +0000</pubDate>
      <link>https://dev.to/mikey/hella-resources-4thomas-2get-started-with-amazong-web-services-12an</link>
      <guid>https://dev.to/mikey/hella-resources-4thomas-2get-started-with-amazong-web-services-12an</guid>
      <description>&lt;h2&gt;
  
  
  Ah, hey
&lt;/h2&gt;

&lt;p&gt;Thomas, please believe and understand that you can create AWS account and use many of the services of free (for up to a year) :^) So suss it out myfriend™&lt;/p&gt;

&lt;h2&gt;
  
  
  Look mate, it's just for AWS, alright?
&lt;/h2&gt;

&lt;p&gt;I’m not sure how &lt;em&gt;exactly&lt;/em&gt; it works with for Azure and GCP, but trust me, &lt;em&gt;they all really want your &lt;em&gt;EternalCloudSoul®&lt;/em&gt;&lt;/em&gt;. So it’s safe to say that there will probably be a similar | if-not: the exact same | offering at GCP and Azure Anyway, the point I'm trying to make is that idrk about Gloogle GLoud and MichaelSoft Azshure, so the rest of this is just gonna stick to  AWS :^)  &lt;/p&gt;

&lt;h2&gt;
  
  
  Okay, Let's Just Get Started Then, Shall We!
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Great, Yeah.
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Good...
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Fine!
&lt;/h5&gt;

&lt;p&gt;lol jokes aside, if you’re just after an understanding of what AWS is all about, then the here’s some stuff that will definitely help. Firstly,&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://aws.amazon.com/what-is-cloud-computing" rel="noopener noreferrer"&gt;What is Cloud Computing?&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The linked AWS page above provides an &lt;strong&gt;overview of Cloud Computing&lt;/strong&gt;, defines the different types of Cloud Computing, outlines how Cloud Computing works and finally, lists the benefits of Cloud Computing - across a number of different contexts; plus, it has a case study! Wow! There are also many links!&lt;br&gt;
Click 'em if you want to! &lt;/p&gt;

&lt;h3&gt;
  
  
  If you're hungy for more info
&lt;/h3&gt;

&lt;p&gt;Here is some more info,&lt;/p&gt;

&lt;h4&gt;
  
  
  It's kind of like a
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/types-of-cloud-computing/?WICC=tile&amp;amp;tile=types_of_cloud" rel="noopener noreferrer"&gt;description of the types of Cloud Computing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anyway... I guess that by now y0u're probably asking yourself what any reasonable person would be...&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://aws.amazon.com/devops/what-is-devops" rel="noopener noreferrer"&gt;What is DevOps?&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Well son, the link above takes you to magical, far away place, which not only defines DevOps but distills it to it's most pure essence, the most sacred and holy &lt;/p&gt;

&lt;h3&gt;
  
  
  ✨DevOps Practices✨
&lt;/h3&gt;

&lt;p&gt;Hosanna in the highest! Now be warned, for the legends tell of a powerful, grand gnostic force which binds any mortal who dares read the DevOps Practices, to live by them forever! The legends say that  if we fail to live the by DevOps Practises... &lt;br&gt;
Well, idk, I’ve just been livin' by 'em so &lt;code&gt;¯\_(ツ)_/¯&lt;/code&gt; &lt;br&gt;
😂😅🤣😒😜😂😅🤣😒😜😂😅🤣😒😜😂😅🤣😒😜😂😅🤣😒😜😂😅🤣&lt;/p&gt;

&lt;p&gt;More q&lt;br&gt;
uestions?...&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://aws.amazon.com/what-is-aws" rel="noopener noreferrer"&gt;Papa, what is AWS?&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Well Thomas, check out this page on &lt;strong&gt;Cloud Computing with AWS&lt;/strong&gt;, it's a very, extremely brief overview of how AWS is your #1Choice© for all your Cloud Computing needs. &lt;/p&gt;

&lt;p&gt;Also, as above, this page contains many links (and logos!)  . &lt;br&gt;
The real treat is what's next though. You’re not gonna believe what’s next!!!!!  &lt;br&gt;
OMG YES IT”S A &lt;a href="https://aws.amazon.com/products/?WICC=tile&amp;amp;tile=Get_Started" rel="noopener noreferrer"&gt;LIST OF THE AWS PRODUCTS&lt;/a&gt; @ &lt;br&gt;
:-0 this is unprecedented!!!!!! 0-: &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://aws.amazon.com/about-aws/global-infrastructure/?WICC=tile&amp;amp;tile=learn_more%E2%80%A8" rel="noopener noreferrer"&gt;But Mike, What of AWS' Global Infrastructure?&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Well Thomas, I Think It's Time We Had A Chat About This Page Which Gives you some insight as to why AWS' Global Infrastructure is great. The page also outlines the &lt;strong&gt;6 Incredible Benefits of The Cool &amp;amp; Good AWS Global Infrastructure&lt;/strong&gt; or as I, but not one single other person likes to call them: PARSL. &lt;br&gt;
Again, these are the benefits, which are yours to gain, when you're an AWS customer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;li&gt;Availability&lt;/li&gt;
&lt;li&gt;Reliability&lt;/li&gt;
&lt;li&gt;Scalability&lt;/li&gt;
&lt;li&gt;Low Cost&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  So, I Know Everything About AWS Now. So What Do I Do?
&lt;/h2&gt;

&lt;p&gt;Idk, maybe write a list like this for someone else! You'll be surprised with that you learn from it :) or don't :^) &lt;br&gt;
If you want to try out some other things to try, you should try trying out these, the following things to try out now...&lt;/p&gt;

&lt;h3&gt;
  
  
  Create That AWS Account, Thomas!
&lt;/h3&gt;

&lt;p&gt;Yee, give this a crack: Head to the AWS Knowledge Center to &lt;a href="https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account" rel="noopener noreferrer"&gt;Create and Activate Your Very Own AWS Account&lt;/a&gt;. Aw! &lt;/p&gt;

&lt;p&gt;Hey, once you’ve done that tho&lt;/p&gt;

&lt;h3&gt;
  
  
  ☮️ Get Free, Man ☮️
&lt;/h3&gt;

&lt;p&gt;Do it tho, sit'own and get familiar with &lt;a href="https://aws.amazon.com/premiumsupport/knowledge-center/what-is-free-tier" rel="noopener noreferrer"&gt;how AWS Free Tier works&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Also, please know that if at any point you’re interested in the &lt;a href="https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&amp;amp;all-free-tier.sort-order=asc" rel="noopener noreferrer"&gt;specifics of Free Tier&lt;/a&gt;, well... errrr... &lt;em&gt;click that link back there!&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Look, this is great and I appreciate the effort, but I'd really just like to leave now... (How do I actually do anything on AWS?)
&lt;/h3&gt;

&lt;p&gt;Well! I'm so glad you asked Thomas! When it comes There are also &lt;strong&gt;MANY free and online courses run by AWS&lt;/strong&gt;. &lt;br&gt;
Like, these courses are fully 🤙🏽Luncho PaidForo🤙🏽 if you catch my drift😎 &lt;br&gt;
Yeahm, so check out the &lt;a href="https://aws.amazon.com/events/builders-online-series" rel="noopener noreferrer"&gt;The AWS Builders Online Series&lt;/a&gt; or the old &lt;a href="https://aws.amazon.com/getting-started/projects/build-modern-app-fargate-lambda-dynamodb-python" rel="noopener noreferrer"&gt;Build Your First App On AWS&lt;/a&gt;! &lt;br&gt;
and you know what, if you’re not into Python (fair tbh), &lt;a href="https://aws.amazon.com/developer/#lb-section-indicator-1" rel="noopener noreferrer"&gt;try out the same tutorial with of the many supported languages&lt;/a&gt;: &lt;/p&gt;

&lt;h3&gt;
  
  
  Also, GitHub has a lot, can't forget Git'ub maaaate
&lt;/h3&gt;

&lt;p&gt;There are &lt;strong&gt;sooooooooooooooooo many&lt;/strong&gt; resources on &lt;a href="https://github.com/awslabs" rel="noopener noreferrer"&gt;AWS Labs&lt;/a&gt; and really, just on GitHub in general.  There are some real interesting and creative things too, like &lt;a href="https://github.com/awslabs/goformation" rel="noopener noreferrer"&gt;goformation&lt;/a&gt;, which is exploring how to generate tools which can be used to generate CloudFormation! It's preeeeeeettyy sweeeeeet duuuuuuuuuuude 🤡🤡🤡🤡🤡🤡🤡🤡🤡&lt;/p&gt;

&lt;p&gt;Finally, here’s another must have resource: A &lt;strong&gt;huge and ultimate&lt;/strong&gt; Awesome List containing &lt;br&gt;
maaaaany resources as well as other lists, which contain&lt;br&gt;
maaaaany resources as well as other lists, which contain&lt;br&gt;
maaaaany resources as well as other lists (and links!). &lt;/p&gt;

&lt;p&gt;It's a repo called &lt;a href="https://github.com/donnemartin/awesome-aws%E2%80%A8%E2%80%A8" rel="noopener noreferrer"&gt;awesome-aws&lt;/a&gt; and it makes $3000 per day, from it's bedroom. Find Out How, Now!&lt;/p&gt;

&lt;h3&gt;
  
  
  Okay, actually, just one last thing
&lt;/h3&gt;

&lt;p&gt;You’re not gonna learn a thiiiiiing from those old and crusty AWS white papers (including the new ones). &lt;br&gt;
Don’t get me wrong, AWS white papers are valuable and they have a lot of value and are basically what I would call "valuable". Jokes aside, they are great and have &lt;strong&gt;a lot&lt;/strong&gt; really specific information in them, but that’s the exact reason why I think they’re not really a great fit for someone just trying to learn what AWS is all about. &lt;/p&gt;

&lt;p&gt;Just get in there and start learning some thiiiiiiiiings :) &lt;/p&gt;

&lt;p&gt;If you need any help or have questions just hmu alllllllllllright (^: &lt;/p&gt;

</description>
      <category>aws</category>
      <category>beginners</category>
      <category>learning</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Not Everything Is Code, as Code</title>
      <dc:creator>Mikey Battiston</dc:creator>
      <pubDate>Wed, 27 Feb 2019 01:21:59 +0000</pubDate>
      <link>https://dev.to/mikey/not-everything-is-code-as-code-on4</link>
      <guid>https://dev.to/mikey/not-everything-is-code-as-code-on4</guid>
      <description>&lt;p&gt;It'd be cool to shift or extend the thinking on DevOps practices like &lt;em&gt;&lt;a href="https://openpracticelibrary.com/practice/everything-as-code/"&gt;Everything-as-Code&lt;/a&gt;&lt;/em&gt; (EaC) to apply it to the wider business. I think opening up these practices has massive potential to add hhheeeaaapppsss of value to a business. It's a fair argument though, that the practice as it is would no longer make sense because &lt;strong&gt;not everything is code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We should be thinking about how to apply what's actually adding the value in EaC, which is that if you use Git (and CD to some extent), &lt;em&gt;most things&lt;/em&gt; can be as tested, reviewed, repeatable, re-usable as code is, without sacrificing collaborative ways of working.&lt;/p&gt;

&lt;p&gt;It's definitely more complicated than "make everyone use Git and Markdown instead of word" and I know it's something that requires a massive investment, but I think it's worth it. &lt;/p&gt;

&lt;p&gt;Unfortunately I feel like it's something that we probably won't see in businesses until familiarity with writing code or working with code is ubiquitous, which may never happen?&lt;/p&gt;

&lt;p&gt;Anyway idk cya later ;)&lt;/p&gt;

</description>
      <category>devops</category>
      <category>git</category>
      <category>markdown</category>
      <category>everythingascode</category>
    </item>
  </channel>
</rss>
