<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Joe M.</title>
    <link>https://joecmarshall.com/</link>
    <description>Recent content on Joe M.</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>&amp;copy; 2026 Joe Marshall</copyright>
    <lastBuildDate>Thu, 01 Oct 2026 01:26:18 -0500</lastBuildDate>
    <atom:link href="https://joecmarshall.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Non-Devs Just Don&#39;t Understand</title>
      <link>https://joecmarshall.com/posts/non-devs-just-dont-understand/</link>
      <pubDate>Thu, 01 Oct 2026 01:26:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/non-devs-just-dont-understand/</guid>
      <description>&lt;p&gt;Everyone reading this has probably not just already encountered AI, but adapted to it.&lt;/p&gt;&#xA;&lt;p&gt;There’s just no getting around it: if you’ve been in Software Engineering over the past few years, you’ve seen your day-to-day change in serious, fundamental ways.&lt;/p&gt;&#xA;&lt;p&gt;I have a close friend who just found a job after six months of unemployment. This person is a true “Rockstar” / 10-xer / whatever your preferred term is. He is an incredibly talented dev and architect that can cut entire new services from whole cloth.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hear Me Out: If We Find Life Out There... Maybe We Should Kill It</title>
      <link>https://joecmarshall.com/posts/hear-me-out-if-we-find-life-out-there-maybe-we-should-kill-it/</link>
      <pubDate>Thu, 10 Sep 2026 01:26:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/hear-me-out-if-we-find-life-out-there-maybe-we-should-kill-it/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve started reading a new sci-fi book, and it has the single most realistic and terrifying depiction of first contact I&amp;rsquo;ve ever encountered.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s called &lt;em&gt;The Killing Star&lt;/em&gt; and I can&amp;rsquo;t stop thinking about it.&lt;/p&gt;&#xA;&lt;p&gt;First, let me save you a click - physical editions are priced in the &lt;a href=&#34;https://a.co/d/0avq9Dok&#34;&gt;low hundreds of dollars&lt;/a&gt;. Even though the book was only published in &amp;lsquo;95, it must&amp;rsquo;ve had a small run. The good news is it&amp;rsquo;s available as an ebook.&lt;/p&gt;</description>
    </item>
    <item>
      <title>If You Knew God Exists, Wouldn&#39;t You Become a Priest?</title>
      <link>https://joecmarshall.com/posts/if-you-knew-god-exists-wouldnt-you-become-a-priest/</link>
      <pubDate>Sun, 30 Aug 2026 01:26:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/if-you-knew-god-exists-wouldnt-you-become-a-priest/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been thinking a lot about AGI lately, which means a lot of things to many people. It can be anything from a true, human-equivalent reasoning machine to something more akin to a God - so far ahead of us as to be a qualitative leap in intelligence.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m actually more inclined to believe we&amp;rsquo;ll leapfrog the first and arrive at the second. And this is why: We have the power to throw more inputs - training, data, electricity - to force more output, with AI, than we can with the human brain. You can&amp;rsquo;t house two pizzas and somehow raise your IQ with the extra calories, as tantalizing as that possibility would be.&lt;/p&gt;</description>
    </item>
    <item>
      <title>&#34;Vibe coding&#34; is the new &#34;Internet dating&#34;</title>
      <link>https://joecmarshall.com/posts/vibecoding-is-the-new-internet-dating/</link>
      <pubDate>Wed, 10 Jun 2026 01:26:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/vibecoding-is-the-new-internet-dating/</guid>
      <description>&lt;p&gt;Cast your mind back to the early 2000s&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Dating was very different.&lt;/p&gt;&#xA;&lt;p&gt;For those living pre-iPhone there was no Tinder (2012), Hinge (2013), or Bumble (2014). Primarily desktop-driven apps like OKCupid (2004), eHarmony (2000), and the original, venerable, Match.com (1995) dominated.&lt;/p&gt;&#xA;&lt;p&gt;Swiping as a fundamental dating U/X didn&amp;rsquo;t exist yet. Instead people specialized in long-form essays about why they traveled the world with their dog, or answered hundreds of questions about their hobbies, interests, and favorite foods, so they could be matched with their soulmate.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Senior Developer Koans</title>
      <link>https://joecmarshall.com/posts/senior-developer-koans/</link>
      <pubDate>Fri, 05 May 2023 00:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/senior-developer-koans/</guid>
      <description>&lt;p&gt;&amp;ldquo;We need to integrate with a SOAP API that&amp;rsquo;s been deprecated for 3 years&amp;rdquo; said the Engineering Manager.&#xA;And the Developer wept.&lt;/p&gt;&#xA;&lt;p&gt;A Senior Developer wanted to choose the best Node framework for his project, so he asked the Master.&#xA;&amp;ldquo;Deno&amp;rdquo; said the Master.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Teacher&amp;rdquo; asked the Junior Developer, &amp;ldquo;Why doesn&amp;rsquo;t my feature work in Firefox?&amp;rdquo;&#xA;&amp;ldquo;All features work in Firefox&amp;rdquo; replied the Senior Dev, &amp;ldquo;from a certain point of view.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Naming Game</title>
      <link>https://joecmarshall.com/posts/the-naming-game/</link>
      <pubDate>Sun, 15 Sep 2019 18:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/the-naming-game/</guid>
      <description>&lt;p&gt;A while ago my friends and I were brainstorming names for our then &lt;a href=&#34;https://formcake.com&#34;&gt;as-yet-untitled-form-side-project #1&lt;/a&gt;. We had a few considerations in mind that, in light of recent discussions around naming, could be fun to share.&lt;/p&gt;&#xA;&lt;p&gt;So I&amp;rsquo;ll share them.&lt;/p&gt;&#xA;&lt;p&gt;We wanted our name 1) to be simple, 2) possible to register as a &lt;code&gt;.com&lt;/code&gt; or &lt;code&gt;.io&lt;/code&gt; domain, 3) have a positive association, and 4) to explain the service had something to do with forms.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Quick Guide to Collecting Sci Fi</title>
      <link>https://joecmarshall.com/posts/a-guide-to-collecting-sci-fi/</link>
      <pubDate>Sun, 08 Sep 2019 12:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/a-guide-to-collecting-sci-fi/</guid>
      <description>&lt;p&gt;Over the years of avidly collecting my niche (New Age science fiction from the 60s and 70s), I&amp;rsquo;ve picked up a few germs of knowledge about book collecting, preservation, and general enthusiasm.&lt;/p&gt;&#xA;&lt;p&gt;It is an addicting hobby, and like any pursuit, something you can improve at with just a tiny bit of perfectly normal, not-clinical, garden-variety obsession.&lt;/p&gt;&#xA;&lt;h2 id=&#34;buy-your-bible&#34;&gt;Buy your Bible&lt;/h2&gt;&#xA;&lt;p&gt;Before anything else, buy the excellent &lt;em&gt;Science Fiction and Fantasy Authors: A Bibliography of First Printings of their Fiction&lt;/em&gt; edited by L.W Currey (Currey also runs an excellent antiquarian book store you can &lt;a href=&#34;https://www.lwcurrey.com/&#34;&gt;buy from online&lt;/a&gt;. They are one of my favorite stores because of their careful packaging). You can either track down one of slightly rarer-but-still-affordable hardcover editions or &lt;a href=&#34;https://www.lwcurrey.com/pages/books/80089/currey/science-fiction-and-fantasy-authors-a-bibliography-of-first-printings-of-their-fiction-and&#34;&gt;purchase a CD&lt;/a&gt; of the contents from Currey himself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Formcake - A Backend Form API</title>
      <link>https://joecmarshall.com/posts/introducing-formcake-a-backend-form-api/</link>
      <pubDate>Fri, 19 Jul 2019 12:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/introducing-formcake-a-backend-form-api/</guid>
      <description>&lt;p&gt;🍰 &lt;a href=&#34;https://formcake.com&#34;&gt;Formcake&lt;/a&gt; was made to solve a simple but common problem: You have a contact form, lead page, or survey, but you don&amp;rsquo;t want to spin up an entire server just to field that one form&amp;rsquo;s submissions.&lt;/p&gt;&#xA;&lt;p&gt;Enter Formcake - you sign up, create a form, and get an endpoint that looks like &lt;code&gt;formcake.com/api/forms/&amp;lt;YOUR_FORM_ID/submissions&lt;/code&gt; that you can put into your &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; tag&amp;rsquo;s &lt;code&gt;action&lt;/code&gt; endpoint.&lt;/p&gt;&#xA;&lt;p&gt;You can then configure success and error redirects if you want them, or just have the user stay on the current page - or you can incorporate an AJAX call to submit the form and display your own success / error message.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding a Loading Icon in Nuxt</title>
      <link>https://joecmarshall.com/posts/adding-a-loading-icon-in-nuxt/</link>
      <pubDate>Fri, 28 Jun 2019 00:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/adding-a-loading-icon-in-nuxt/</guid>
      <description>&lt;p&gt;Today I&amp;rsquo;m going to discuss implementing a loading icon like you see in a lot of SPAs within the context of a Nuxt project I&amp;rsquo;m working on - Form Cast, a simple form backend-as-a-service.&lt;/p&gt;&#xA;&lt;h3 id=&#34;the-icon&#34;&gt;The Icon&lt;/h3&gt;&#xA;&lt;p&gt;My project at the moment is pretty spartanly designed, with a plain white background. For my loading icon, I wanted something with a flash of both activity and color. After surfing around, I decided on this (it&amp;rsquo;s technically a typing activity icon, but who cares).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Comparing Integrations in the Form Market</title>
      <link>https://joecmarshall.com/posts/comparing-integrations-in-the-form-market/</link>
      <pubDate>Sat, 22 Jun 2019 00:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/comparing-integrations-in-the-form-market/</guid>
      <description>&lt;p&gt;The form market is huge. Everyone wants to make drag-n-drop, marketing and growth hacker-friendly forms that can do everything from lead capture to payment processing.&lt;/p&gt;&#xA;&lt;p&gt;And so naturally, I asked &amp;hellip; maybe there&amp;rsquo;s room for me?&lt;/p&gt;&#xA;&lt;p&gt;But seriously, with a lot you get less-than-stellar design, clunky widgets, and unwieldy WYSIWYGs. That&amp;rsquo;s why a few friends and I decided to dream up an &lt;a href=&#34;https://formcake.com&#34;&gt;MVP&lt;/a&gt; based on making the Stripe or Slack of form companies - something that works hard through efficient UX to reduce cognitive load and just be &lt;em&gt;easier&lt;/em&gt; at all the things, generally. Don&amp;rsquo;t try to create another form builder for marketers - instead make a detatched backend that anyone who knows their way around a form tag can slice into their markup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Junior Developer Koans</title>
      <link>https://joecmarshall.com/posts/junior-developer-koans/</link>
      <pubDate>Sun, 24 Mar 2019 00:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/junior-developer-koans/</guid>
      <description>&lt;p&gt;&amp;ldquo;Generate a react app without scaffolding&amp;rdquo; instructed the Master.&lt;br&gt;&#xA;The student could not.&lt;/p&gt;&#xA;&lt;p&gt;The old man told the young:&lt;br&gt;&#xA;&amp;ldquo;Python has seen 3 versions in my day&amp;rdquo;.&lt;br&gt;&#xA;The young man responded:&lt;br&gt;&#xA;&amp;ldquo;Node has 12.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Teacher&amp;rdquo;, the student inquired, &amp;ldquo;What&amp;rsquo;s the best Javascript MVC?&amp;rdquo;&lt;br&gt;&#xA;The teacher replied.&lt;br&gt;&#xA;&amp;ldquo;It&amp;rsquo;s not JQuery.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;A Junior Developer wanted the best Javascript framework for his side project, so he evaluated every option before deciding.&lt;/p&gt;&#xA;&lt;p&gt;He starved to death.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Writing a Book with Unix</title>
      <link>https://joecmarshall.com/posts/book-writing-environment/</link>
      <pubDate>Thu, 07 Mar 2019 12:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/book-writing-environment/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Last year I published my first book with a publisher, &lt;a href=&#34;https://handsonbughunting.com&#34;&gt;&lt;em&gt;Hands on Bug Hunting For Penetration Testers&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Going in, I was determined to set up a workflow that would allow me to:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Keep a backup of the book.&lt;/li&gt;&#xA;&lt;li&gt;Allow me to easily track my writing progress.&lt;/li&gt;&#xA;&lt;li&gt;Work on the book offline.&lt;/li&gt;&#xA;&lt;li&gt;Keep my own copy of the book.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;What set of tools could possibly control the versioning, backup, access control, and portability of plain text?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Three Hundred Users in Seven Weeks</title>
      <link>https://joecmarshall.com/posts/three-hundred-users-in-seven-weeks/</link>
      <pubDate>Sun, 24 Feb 2019 12:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/three-hundred-users-in-seven-weeks/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://joecmarshall.com/introducing-jobletter/&#34;&gt;Seven weeks ago&lt;/a&gt;, a friend and I started writing a &lt;a href=&#34;https://jobletter.io&#34;&gt;newsletter for junior devs&lt;/a&gt; and strategizing about stuff like &lt;a href=&#34;https://joecmarshall.com/posts/email-open-rates/&#34;&gt;open rates&lt;/a&gt; and &lt;a href=&#34;https://joecmarshall.com/one-hundred-users-in-two-weeks/&#34;&gt;content strategies&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;But if you&amp;rsquo;ve followed any of this before now - or seen those link titles, you&amp;rsquo;ll notice we go from 100 subscribers in two weeks to 250 in three all the way up to&amp;hellip; 300 users after almost two months. What happened?&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-we-hit-a-plateau&#34;&gt;Why We Hit a Plateau&lt;/h2&gt;&#xA;&lt;p&gt;There are a few reasons growth slowed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automated Scanning with Arachni</title>
      <link>https://joecmarshall.com/posts/automated-scanning-with-arachni/</link>
      <pubDate>Fri, 22 Feb 2019 12:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/automated-scanning-with-arachni/</guid>
      <description>&lt;p&gt;Scanners have a tricky reputation. Their point-and-click simplicity and utility as automated reconnassiance tools means they get love from script kiddies and professionals alike. They also have compelling use cases for flushing out certain vulnerabilities, like &lt;a href=&#34;http://bughunting.guide/a-gentle-introduction-to-cross-site-scripting-xss/&#34;&gt;XSS&lt;/a&gt;, where there may be too many input vectors or payload varities to feasibly go through the application by hand.&lt;/p&gt;&#xA;&lt;p&gt;The problem is a lot of the most popular scanners, like &lt;a href=&#34;https://portswigger.net/burp/&#34;&gt;Burp Suite&lt;/a&gt; and &lt;a href=&#34;http://www.websecurify.com/&#34;&gt;Websecurify&lt;/a&gt;, rely on a &lt;a href=&#34;https://en.wikipedia.org/wiki/Graphical_user_interface&#34;&gt;GUI&lt;/a&gt; for their targeting information and follow a similar pattern:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Five Tips for Junior Developers-To-Be</title>
      <link>https://joecmarshall.com/posts/five-tips-for-junior-devs/</link>
      <pubDate>Sun, 17 Feb 2019 12:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/five-tips-for-junior-devs/</guid>
      <description>&lt;p&gt;Landing your first &amp;ldquo;Software Developer&amp;rdquo; or &amp;ldquo;Web Developer&amp;rdquo; position is a big get. More than a designer-who-programs or a writer-who-markups, taking on a role where your principal responsibility is coding is a big step in any technology career.&lt;/p&gt;&#xA;&lt;p&gt;You could be thinking about a career transition or graduating a bootcamp or computer science program - this article has five tips, some less earth-shattering than others, that nevertheless will help you on your search. They come from being on both sides of the hiring table, after breaking in through outside the university system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Two Hundred Fifty Users in Three Weeks</title>
      <link>https://joecmarshall.com/posts/two-hundred-and-fifty-users-in-three-weeks/</link>
      <pubDate>Sun, 03 Feb 2019 12:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/two-hundred-and-fifty-users-in-three-weeks/</guid>
      <description>&lt;p&gt;At &lt;a href=&#34;https://joecmarshall.com/introducing-jobletter/&#34;&gt;three-weeks&lt;/a&gt;, the ongoing experiement in writing a &lt;a href=&#34;https://jobletter.io&#34;&gt;newsletter for junior devs&lt;/a&gt; and &lt;a href=&#34;https://joecmarshall.com/one-hundred-users-in-two-weeks/&#34;&gt;open strategizing&lt;/a&gt; is in full swing.&lt;/p&gt;&#xA;&lt;p&gt;Quick recap: Three weeks ago a friend and I launched &lt;a href=&#34;https://jobletter.io&#34;&gt;jobletter&lt;/a&gt; a job newsletter targeted early career devs looking for quality listings and career information.&lt;/p&gt;&#xA;&lt;p&gt;Writing about this experience provides an opportunity to chronicle our efforts. If it grows this will be a fun account of why, if not, then we learned a lot, and these posts will teach us more.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How We Reached a 67% Open Rate and a 26% CTR</title>
      <link>https://joecmarshall.com/posts/email-open-rates/</link>
      <pubDate>Mon, 21 Jan 2019 12:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/email-open-rates/</guid>
      <description>&lt;p&gt;Three weeks ago we &lt;a href=&#34;https://joecmarshall.com/posts/introducing-jobletter/&#34;&gt;launched&lt;/a&gt; &lt;a href=&#34;https://jobletter.io&#34;&gt;jobletter&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Since then, we&amp;rsquo;ve been promoting the site, collecting feedback from friends, and experimenting with with &lt;a href=&#34;https://joecmarshall.com/posts/one-hundred-users-in-two-weeks/&#34;&gt;a more open approach&lt;/a&gt; to writing about our process.&lt;/p&gt;&#xA;&lt;p&gt;All that culminated in us reaching a milestone this past Friday - our first email. Over the past week we&amp;rsquo;d worked with a freelancer to deliver an email template, as well as winnow down the jobs we&amp;rsquo;d been collecting. We wanted a good mix of industries, company sizes and technology stacks - emphasizing location-independent postings like businesses hiring in multiple locations, or startups open to hiring remote junior workers (harder to find, but they exist).&lt;/p&gt;</description>
    </item>
    <item>
      <title>One Hundred Users in Two Weeks</title>
      <link>https://joecmarshall.com/posts/one-hundred-users-in-two-weeks/</link>
      <pubDate>Mon, 21 Jan 2019 12:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/one-hundred-users-in-two-weeks/</guid>
      <description>&lt;p&gt;Recently my business partner and I launched a new service, &lt;a href=&#34;https://jobletter.io&#34;&gt;jobletter.io&lt;/a&gt; with a simple premise: We deliver Junior Developer jobs to your inbox.&lt;/p&gt;&#xA;&lt;p&gt;Breaking into development to get those all-important first two years of production experience is long, exhausting work, filled with pouring through a lot of &amp;ldquo;Software Developer - 5+ years req&amp;rdquo; posts and keyword salads where your prospective employer&amp;rsquo;s stack includes Every Goddamn Thing™.&lt;/p&gt;&#xA;&lt;p&gt;It makes the idea of a short list of quality, curated, 0 years of experience-and-up jobs, delivered to you, pretty appealing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jobletter - Junior Developer jobs in your inbox</title>
      <link>https://joecmarshall.com/posts/introducing-jobletter/</link>
      <pubDate>Mon, 07 Jan 2019 18:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/introducing-jobletter/</guid>
      <description>&lt;p&gt;A few days ago, David Broadlick and I launched &lt;a href=&#34;https://jobletter.io&#34;&gt;Jobletter&lt;/a&gt; into beta, as a way for developers at the beginning of their careers to get a concentrated dose of high-quality jobs targeting their skillset and experience level.&lt;/p&gt;&#xA;&lt;p&gt;Right now we&amp;rsquo;re still building out some of our customization features: We&amp;rsquo;d like to add location and specific skill targeting, more customized sending schedules, and more content options, but we&amp;rsquo;re excited to start sharing a service very much borne out of our own experiences.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a Python 3.6 Seed App with Docker, Tox, and Pylint</title>
      <link>https://joecmarshall.com/posts/python-app-seed/</link>
      <pubDate>Thu, 06 Dec 2018 13:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/python-app-seed/</guid>
      <description>&lt;p&gt;Seed apps are great.&lt;/p&gt;&#xA;&lt;p&gt;They can be the test-bed for new devops features, mini onboarding exercises,  or just &amp;ldquo;batteries-included&amp;rdquo; starter kits for greenfield applications.&lt;/p&gt;&#xA;&lt;p&gt;Especially in the web application (and Python) world, almost everything comes with extra considerations - testing, linting, containerization - wouldn&amp;rsquo;t it be great if we could make a Python seed that came with all of that baked in?&lt;/p&gt;&#xA;&lt;p&gt;What a beautiful, productive world that would be (skip straight to the &lt;a href=&#34;https://github.com/MarshalJoe/python-seed-app&#34;&gt;github repo&lt;/a&gt; to go there now).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Burp Extensions - Setting up XSS Validator</title>
      <link>https://joecmarshall.com/posts/burp-suite-extensions-xss-validator/</link>
      <pubDate>Tue, 16 Oct 2018 18:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/burp-suite-extensions-xss-validator/</guid>
      <description>&lt;h2 id=&#34;hunting-for-xss&#34;&gt;Hunting for XSS&lt;/h2&gt;&#xA;&lt;p&gt;XSS / Cross-site scripting (which is just another form of &lt;a href=&#34;https://en.wikipedia.org/wiki/Code_injection&#34;&gt;Code Injection&lt;/a&gt;) can be a severe vulnerability.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s also &lt;a href=&#34;https://www.info-point-security.com/sites/default/files/cenzic-vulnerability-report-2014.pdf&#34;&gt;very common&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;That potent combination  - profitability and ubiquity - marks it as a worthy target for penetration testers interested in public bounties.But because of a high rate of false-positives (and inevitably imperfect detection logic) the process of ferreting out XSS comes with a lot of noise. The &lt;a href=&#34;https://blog.nvisium.com/2014/01/accurate-xss-detection-with-burpsuite.html&#34;&gt;XSS Validator from Nvisium&lt;/a&gt; is designed to solve this problem. It verifies XSS findings exported from the &lt;a href=&#34;http://phantomjs.org/&#34;&gt;Burp Suite&lt;/a&gt; interface in a Phantomjs server designed to receive, analyze, and validate possible XSS snippets. The extension is critical for testing a target with a large attack surface.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bug Hunting for Penetration Testers Available Now</title>
      <link>https://joecmarshall.com/posts/hands-on-bug-hunting-available-now/</link>
      <pubDate>Sun, 16 Sep 2018 13:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/hands-on-bug-hunting-available-now/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hands-On Bug Hunting for Penetration Testers&lt;/strong&gt; is now available. The book covers how to detect, validate, and write submission reports for XSS, SQLi and NoSQLi, XXE, CSRF, and more vulnerabilities, including sections on detecting hidden content, crowdsourcing code injection snippets and other malicious inputs, writing quality submission reports, and more. It uses Burp Suite as a principal tool and proxy, with Python (3.6.5) and Bash scripts thrown in to augment, extend, and automate different testing functions. &lt;strong&gt;All the tools used are free&lt;/strong&gt;. You can find the work in both ebook and print versions:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating my Blog and Book Sites on the Free Stack</title>
      <link>https://joecmarshall.com/posts/creating-a-blog-and-book-site-on-the-free-stack/</link>
      <pubDate>Thu, 02 Aug 2018 12:45:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/creating-a-blog-and-book-site-on-the-free-stack/</guid>
      <description>&lt;p&gt;When I was setting out to revamp my personal blog and create a new site for &lt;a href=&#34;https://handsonbughunting.com&#34;&gt;my book&lt;/a&gt;, I had a couple of considerations in mind. I wanted both sites to be highly-available (I don&amp;rsquo;t get much traffic, but also don&amp;rsquo;t want a hug of death), simple (with as few moving parts as possible), and easy-to-update and generally extend.&lt;/p&gt;&#xA;&lt;p&gt;All of that led me to a static workflow.&lt;/p&gt;&#xA;&lt;h2 id=&#34;settling-on-but-not-for-static&#34;&gt;Settling on (but not for) Static&lt;/h2&gt;&#xA;&lt;p&gt;I love static sites. They&amp;rsquo;re a zen koan in a universe of epics: As large as they need to be (and no larger). Leaning into static sites means that your application is easy to reason about, since it&amp;rsquo;s just HTML or a simple template generator. And it&amp;rsquo;s also easy to deploy and host - even just &lt;code&gt;rsync&lt;/code&gt;-ing a folder to an &lt;code&gt;nginx&lt;/code&gt; server could do for a basic setup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Writing Tech Stack</title>
      <link>https://joecmarshall.com/posts/my-writing-tech-stack/</link>
      <pubDate>Tue, 31 Jul 2018 18:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/my-writing-tech-stack/</guid>
      <description>&lt;p&gt;All writers have their own workflows for writing: Many people use Word, Google Docs, or Libre Office - George R.R. Martin famously uses &lt;a href=&#34;http://www.slate.com/blogs/future_tense/2014/05/14/george_r_r_martin_writes_on_dos_based_wordstar_4_0_software_from_the_1980s.html&#34;&gt;WordStar&lt;/a&gt;, a DOS-based text-processing system from the mid-80s. As long as your personal productivity is juiced and you&amp;rsquo;re comfortable, you can be as idiosyncratic as you want. Somewhere a hardcore cypherpunk is writing the next cryptographic epic in vim.&lt;/p&gt;&#xA;&lt;p&gt;In that spirit, I&amp;rsquo;ve evolved my own writing process over time as I&amp;rsquo;ve looked for a workflow that minimized application overhead, allowed me to translate documents between formats, provided robust version tracking, integrated well with other tools, and worked offline. There are several parts to the stack.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pentest Proving Grounds</title>
      <link>https://joecmarshall.com/posts/pentest-proving-grounds/</link>
      <pubDate>Mon, 30 Jul 2018 15:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/pentest-proving-grounds/</guid>
      <description>&lt;p&gt;One of the most helpful tools in learning the fundamentals of penetration testing is the ability to test your analysis against deliberately-vulnerable applications - sites and/or apps with consciously introduced flaws, catalogued for easy reference. Beyond a great introductory exercise, testing against deliberately vulnerable apps can also be a great way to calibrate new scanners or automated reconnaisance methods. And in addition to the actual vulnerable endpoints within the applications themselves, many of them also feature their own guided tutorials explaining how to detect - and often mitigate - the vulnerabilities they contain.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pre-order Hands-On Bug Hunting for Penetration Testers</title>
      <link>https://joecmarshall.com/posts/preorder-hands-on-bug-bounty/</link>
      <pubDate>Sat, 23 Jun 2018 13:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/preorder-hands-on-bug-bounty/</guid>
      <description>&lt;p&gt;&lt;em&gt;Update: The book has since been released. See how to purchase it at &lt;a href=&#34;https://handsonbughunting.com&#34;&gt;handsonbughunting.com&lt;/a&gt; or use the Amazon link included in the article below.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;This October I&amp;rsquo;ll be releasing my first book with Packt publishing, &lt;em&gt;Hands-On Bug Hunting for Penetration Testers&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The book covers:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Preparing for pentesting engagements&lt;/li&gt;&#xA;&lt;li&gt;Building an automated pentesting workflow&lt;/li&gt;&#xA;&lt;li&gt;Detecting and reporting OWASP&amp;rsquo;s Top 10 most common bugs&lt;/li&gt;&#xA;&lt;li&gt;Finding the best bug bounty programs&lt;/li&gt;&#xA;&lt;li&gt;Focusing on testing the right parts of a web application&lt;/li&gt;&#xA;&lt;li&gt;Formatting vulnerability reports to maximize your payouts&lt;/li&gt;&#xA;&lt;li&gt;Going further&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you have some experience with penetration testing, it&amp;rsquo;ll be a good introduction to public bug bounty programs, and if you&amp;rsquo;re just getting into security, it&amp;rsquo;s a great series of walkthroughs for getting up to speed - even if you have to search for the meaning of a term or two (or three).&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Top 5 Burp Suite Extensions</title>
      <link>https://joecmarshall.com/posts/top-5-burp-suite-extensions/</link>
      <pubDate>Thu, 17 May 2018 18:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/top-5-burp-suite-extensions/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re a freelance security researcher, chances are you&amp;rsquo;ve heard of — or use — &lt;a href=&#34;http://portswigger.net/burp/&#34;&gt;Burp Suite&lt;/a&gt;, a program commonly considered the gold standard for penetration testing software. But if you&amp;rsquo;re only using the stock version, as great as it is, you&amp;rsquo;re missing out! Both the free and paid versions of Burp support helpful &lt;a href=&#34;https://pro.portswigger.net/bappstore/&#34;&gt;extensions&lt;/a&gt; that add extra functionality to the main client — whether it&amp;rsquo;s a separate (and free) scanner, an IP randomizer, or a plugin for validating XSS vulnerabilities. This list is intended to give you a quick-hit overview of some of the best extensions that you can add easily and painlessly to your current setup to be more profitable and productive as a security researcher.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Brief Illustration of Functional Programming</title>
      <link>https://joecmarshall.com/posts/functional-programming/</link>
      <pubDate>Fri, 22 Sep 2017 18:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/functional-programming/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Functional_programming&#34;&gt;Functional Programming&lt;/a&gt; is a powerful programming paradigm that tries to reduce bugs and make it easier to reason about an application by avoiding state changes and the mutation of global values, generally.&lt;/p&gt;&#xA;&lt;p&gt;In software coded using functional programming patterns, all functions can be understood by the arguments passed to them as parameters. There is no reliance on the instance variables of the class (like in &lt;a href=&#34;https://en.wikipedia.org/wiki/Object-oriented_programming&#34;&gt;Object-Oriented Programming&lt;/a&gt; (OOP) patterns) or some other state-dependent variable modified through assignment in runtime by the source code (like in &lt;a href=&#34;https://en.wikipedia.org/wiki/Imperative_programming&#34;&gt;Imperative Programming&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>1-Minute Markdown</title>
      <link>https://joecmarshall.com/posts/1-minute-markdown/</link>
      <pubDate>Tue, 13 Jun 2017 18:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/1-minute-markdown/</guid>
      <description>&lt;h1 id=&#34;whats-markdown&#34;&gt;What&amp;rsquo;s Markdown?&lt;/h1&gt;&#xA;&lt;p&gt;Markdown is punctuation for the web. It enables authors to easily write documents that feature common online staples like &lt;a href=&#34;http://google.com&#34;&gt;links&lt;/a&gt;, images, as well as &lt;em&gt;italicized&lt;/em&gt;, &lt;strong&gt;bold&lt;/strong&gt;, and other types of rich text, using a simple, lightweight set of symbols that can easily be converted to HTML, &lt;code&gt;doc&lt;/code&gt;, &lt;code&gt;pdf&lt;/code&gt;, or &lt;code&gt;rtf&lt;/code&gt; files. Since markdown files are just plain text, they&amp;rsquo;re an ultra-portable way to write web-compatible content without the mess of a WYSWIG editor or proprietary file types.&lt;/p&gt;</description>
    </item>
    <item>
      <title>An Event Loop Allegory</title>
      <link>https://joecmarshall.com/posts/an-event-loop-allegory/</link>
      <pubDate>Fri, 05 Aug 2016 18:56:18 -0500</pubDate>
      <guid>https://joecmarshall.com/posts/an-event-loop-allegory/</guid>
      <description>&lt;p&gt;Two jugglers walked around a small track, practicing their craft.&lt;/p&gt;&#xA;&lt;p&gt;The first one, Sync, wasn&amp;rsquo;t really what you&amp;rsquo;d call a juggler, so much as an apprentice juggler or (less charitably) a juggler-wannabe - a straight up ball tossin&amp;rsquo; poseur.&lt;/p&gt;&#xA;&lt;p&gt;Sync could only keep one ball in the air at a time. In fact, he only owned one ball. As he traced the circle of the track with his steps, his bouncy red ball would draw a series of parabolas in the air, tracing a gentle up-and-down curve following his path. As he walked, Sync would think somber thoughts about his place in the larger hierarchy of the cutthroat world of professional juggling.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact Me</title>
      <link>https://joecmarshall.com/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://joecmarshall.com/contact/</guid>
      <description>&lt;style type=&#34;text/css&#34;&gt;&#xA;.contact-form {&#xA;    display: flex;&#xA;    flex-direction: column;&#xA;    max-width: 700px;&#xA;}&#xA;&#xA;.contact-form label {&#xA;    font-size: 1.5rem;&#xA;    margin-top: 1.5rem;&#xA;}&#xA;&#xA;.contact-form input,&#xA;.contact-form textarea {&#xA;    margin-top: 0.5rem;&#xA;    padding:1rem;&#xA;    font-size: 1.25rem;&#xA;}&#xA;&#xA;.contact-form input::placeholder,&#xA;.contact-form textarea::placeholder {&#xA;    font-size: 1.25rem;&#xA;}&#xA;&#xA;.contact-form button {&#xA;    margin-top: 1.5rem;&#xA;    padding: 1rem;&#xA;    font-size: 2rem;&#xA;    background-color: #aaa;&#xA;    color: white;&#xA;    border: none;&#xA;}&#xA;&#xA;.contact-form button:hover {&#xA;    cursor: pointer;&#xA;}&#xA;&lt;/style&gt;&#xA;&lt;form class=&#34;contact-form&#34; name=&#34;contact&#34; method=&#34;POST&#34; netlify&gt;&#xA;    &lt;label for=&#34;email&#34;&gt;Email&lt;/label&gt;&#xA;    &lt;input placeholder=&#34;homer@compuglobalhypermega.net&#34; required type=&#34;email&#34; name=&#34;email&#34; /&gt;&#xA;    &lt;label for=&#34;message&#34;&gt;Message&lt;/label&gt;&#xA;    &lt;textarea placeholder=&#34;Hmmm. Your ideas are intriguing to me and I wish to subscribe to your newsletter&#34; required name=&#34;message&#34; rows=&#34;10&#34; cols=&#34;70&#34;&gt;&lt;/textarea&gt;&#xA;    &lt;button type=&#34;submit&#34; class=&#34;button&#34;&gt;Submit&lt;/button&gt;&#xA;&lt;/form&gt;</description>
    </item>
    <item>
      <title>Hire Me</title>
      <link>https://joecmarshall.com/hire-me/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://joecmarshall.com/hire-me/</guid>
      <description>&lt;p&gt;Although I am a happily-employed man, I am always looking to moonlight on development or writing projects.&lt;/p&gt;&#xA;&lt;p&gt;You can reach me through the &lt;a href=&#34;https://joecmarshall.com/contact&#34;&gt;contact page&lt;/a&gt; on this site, or connect with me through &lt;a href=&#34;https://www.linkedin.com/in/joecmarshall/&#34;&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
