<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>TimothyCrosley.com</title><link>https://timothycrosley.com/</link><description>My Personal Homepage and Blog</description><lastBuildDate>Thu, 26 Nov 2020 10:00:00 -0800</lastBuildDate><item><title>Introducing QuickPYTHON: The fun of QBasic meets the power of Python</title><link>https://timothycrosley.com/project-9-qpython</link><description>&lt;p&gt;&lt;a href="https://timothycrosley.github.io/quickpython/"&gt;&lt;img alt="QuickPYTHON Logo" src="https://raw.githubusercontent.com/timothycrosley/quickpython/master/art/logo_large.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;project:&lt;/td&gt;
&lt;td&gt;9/52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Title/Link:&lt;/td&gt;
&lt;td&gt;&lt;a href="https://raw.githubusercontent.com/timothycrosley/quickpython/master/art/logo_large.png"&gt;QuickPYTHON&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pitch:&lt;/td&gt;
&lt;td&gt;All the fun of QuickBASIC on old PCs but now using Python.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read if:&lt;/td&gt;
&lt;td&gt;You learned how to code on an old DOS computer using QuickBasic or TurboPascel, or if you are interested in unique coding environments.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skip if:&lt;/td&gt;
&lt;td&gt;You've already learned how …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Thu, 26 Nov 2020 10:00:00 -0800</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2020-11-26:/project-9-qpython</guid><category>New Project</category><category>Projects</category><category>52</category><category>Introduction</category></item><item><title>Introducing isort 5: The Refactoring of a 10 Year Old Project</title><link>https://timothycrosley.com/project-8-isort5</link><description>&lt;p&gt;&lt;a href="https://timothycrosley.github.io/isort/"&gt;&lt;img alt="isort 5 Logo" src="https://raw.githubusercontent.com/timothycrosley/isort/develop/art/logo_5.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;project:&lt;/td&gt;
&lt;td&gt;8/52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Title/Link:&lt;/td&gt;
&lt;td&gt;&lt;a href="https://timothycrosley.github.io/isort/docs/major_releases/introducing_isort_5/"&gt;isort5&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pitch:&lt;/td&gt;
&lt;td&gt;isort your imports, so you don't have to.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read if:&lt;/td&gt;
&lt;td&gt;You're interested in Python auto formatters or the challenges of refactoring widely used code that is a decade in the making.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skip if:&lt;/td&gt;
&lt;td&gt;You're not interested in auto formatters, or are only interested …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Mon, 10 Aug 2020 04:30:00 -0700</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2020-08-10:/project-8-isort5</guid><category>New Project</category><category>Projects</category><category>52</category><category>Introduction</category></item><item><title>Sign-up for PyCascade Sprints!</title><link>https://timothycrosley.com/pycascades-sprints</link><description>&lt;p&gt;&lt;a href="images/pycascades.png"&gt;&lt;img alt="PyCascades Logo" src="images/pycascades.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Coming up VERY soon (this weekend), is my favorite yearly conference: &lt;a href="https://2020.pycascades.com/"&gt;PyCascades&lt;/a&gt;!
It's a regional conference that takes place in the PNW, this year in Portland, covering all things Python.
If you haven't signed up yet, and live in the PNW, I encourage you to check it out!
You'll meet …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Wed, 05 Feb 2020 08:00:00 -0800</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2020-02-05:/pycascades-sprints</guid><category>Introduction</category><category>General</category><category>Conference</category><category>SignUp</category><category>Events</category></item><item><title>Introducing streamdeck_ui</title><link>https://timothycrosley.com/project-7-streamdeck_ui</link><description>&lt;p&gt;&lt;a href="https://timothycrosley.github.io/streamdeck-ui/"&gt;&lt;img alt="streamdeck_ui Logo" src="https://raw.githubusercontent.com/timothycrosley/streamdeck-ui/master/art/logo_large.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;project:&lt;/td&gt;
&lt;td&gt;7/52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Title/Link:&lt;/td&gt;
&lt;td&gt;&lt;a href="https://timothycrosley.github.io/streamdeck-ui/"&gt;streamdeck_ui&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pitch:&lt;/td&gt;
&lt;td&gt;For the first time, use Elgato Stream Deck devices on Linux without needing to code.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read if:&lt;/td&gt;
&lt;td&gt;You own or have wanted to own an Elgato Stream Deck device and use Linux.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skip if:&lt;/td&gt;
&lt;td&gt;You aren't interested in Stream Decks or other programmable …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Tue, 08 Oct 2019 04:30:00 -0700</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2019-10-08:/project-7-streamdeck_ui</guid><category>New Project</category><category>Projects</category><category>52</category><category>Introduction</category></item><item><title>Introducing cruft - A tool to manage project boilerplate</title><link>https://timothycrosley.com/project-6-cruft</link><description>&lt;p&gt;&lt;a href="https://timothycrosley.github.io/cruft/"&gt;&lt;img alt="cruft Logo" src="https://raw.githubusercontent.com/timothycrosley/cruft/master/art/logo_large.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;project:&lt;/td&gt;
&lt;td&gt;6/52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Title/Link:&lt;/td&gt;
&lt;td&gt;&lt;a href="https://timothycrosley.github.io/cruft/"&gt;cruft&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pitch:&lt;/td&gt;
&lt;td&gt;Create projects quickly from templates &lt;em&gt;and&lt;/em&gt; keep them up to date against those same templates.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read if:&lt;/td&gt;
&lt;td&gt;You use Cookiecutter, or another project templating tool, and have struggled with managing the boilerplate they generate.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skip if:&lt;/td&gt;
&lt;td&gt;You don't create enough individual projects to …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Tue, 24 Sep 2019 09:30:00 -0700</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2019-09-24:/project-6-cruft</guid><category>New Project</category><category>Projects</category><category>52</category><category>Introduction</category></item><item><title>Introducing hypothesis-auto - An extension for Hypothesis that provides fully automatic testing for type hinted functions</title><link>https://timothycrosley.com/project-5-hypothesis-auto</link><description>&lt;p&gt;&lt;a href="https://timothycrosley.github.io/hypothesis-auto/"&gt;&lt;img alt="hypothesis-auto Logo" src="https://raw.githubusercontent.com/timothycrosley/hypothesis-auto/master/art/logo_large.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;project:&lt;/td&gt;
&lt;td&gt;5/52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Title/Link:&lt;/td&gt;
&lt;td&gt;&lt;a href="https://timothycrosley.github.io/hypothesis-auto/"&gt;hypothesis-auto&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pitch:&lt;/td&gt;
&lt;td&gt;Have tests automatically generated for you.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read if:&lt;/td&gt;
&lt;td&gt;You are interested in increasing test coverage, utilizing property-based testing, or reducing the number of tests you need to write by hand.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skip if:&lt;/td&gt;
&lt;td&gt;You already heavily utilize Hypothesis or another property testing system.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prior …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Thu, 19 Sep 2019 04:00:00 -0700</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2019-09-19:/project-5-hypothesis-auto</guid><category>New Project</category><category>Projects</category><category>52</category><category>Introduction</category></item><item><title>Introducing eXamples - Python Tests and Documentation Done by Example</title><link>https://timothycrosley.com/project-4-examples</link><description>&lt;p&gt;&lt;a href="https://timothycrosley.github.io/examples/"&gt;&lt;img alt="examples Logo" src="https://raw.githubusercontent.com/timothycrosley/examples/master/art/logo_large.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;project:&lt;/td&gt;
&lt;td&gt;4/52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Title/Link:&lt;/td&gt;
&lt;td&gt;&lt;a href="https://timothycrosley.github.io/examples/"&gt;eXamples&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pitch:&lt;/td&gt;
&lt;td&gt;Examples that double as tests and documentation while enabling interactive discovery.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read if:&lt;/td&gt;
&lt;td&gt;You want your project to have more examples, tests, and documentation, but you have limited time to invest in all of them.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skip if:&lt;/td&gt;
&lt;td&gt;You are happy with doctest or …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Wed, 11 Sep 2019 03:00:00 -0700</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2019-09-11:/project-4-examples</guid><category>New Project</category><category>Projects</category><category>52</category><category>Introduction</category></item><item><title>Introducing pdocs - Documentation Powered by Your Python Code</title><link>https://timothycrosley.com/project-3-pdocs</link><description>&lt;p&gt;&lt;a href="https://timothycrosley.github.io/pdocs/"&gt;&lt;img alt="pdocs Logo" src="https://raw.githubusercontent.com/timothycrosley/pdocs/master/art/logo_large.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;project:&lt;/td&gt;
&lt;td&gt;3/52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Title/Link:&lt;/td&gt;
&lt;td&gt;&lt;a href="https://timothycrosley.github.io/pdocs/"&gt;pdocs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pitch:&lt;/td&gt;
&lt;td&gt;Modern MIT fork of pdoc. Automatic Documentation from Python code.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read if:&lt;/td&gt;
&lt;td&gt;You want to use pdoc but not AGPL OR are interested in documenting Python projects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skip if:&lt;/td&gt;
&lt;td&gt;You don't create Python projects. Or, you've already created documentation sites for your Python …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Tue, 03 Sep 2019 04:00:00 -0700</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2019-09-03:/project-3-pdocs</guid><category>New Project</category><category>Projects</category><category>52</category><category>Introduction</category></item><item><title>Introducing portray - Your Project with Great Documentation</title><link>https://timothycrosley.com/project-2-portray</link><description>&lt;p&gt;&lt;a href="https://timothycrosley.github.io/portray/"&gt;&lt;img alt="potray Logo" src="https://raw.githubusercontent.com/timothycrosley/portray/master/art/logo.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;project:&lt;/td&gt;
&lt;td&gt;2/52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Title/Link:&lt;/td&gt;
&lt;td&gt;&lt;a href="https://timothycrosley.github.io/portray/"&gt;portray&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pitch:&lt;/td&gt;
&lt;td&gt;Beautiful documentation websites for Python projects without the work.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read if:&lt;/td&gt;
&lt;td&gt;You create Python projects that could use browseable and searchable static documentation websites.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skip if:&lt;/td&gt;
&lt;td&gt;You don't create Python projects. Or, you've already created documentation sites for your Python projects and are …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Mon, 26 Aug 2019 04:00:00 -0700</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2019-08-26:/project-2-portray</guid><category>New Project</category><category>Projects</category><category>52</category><category>Introduction</category></item><item><title>Project 1/52: preconvert - Supercharge Your Serialization!</title><link>https://timothycrosley.com/project-1-preconvert</link><description>&lt;p&gt;&lt;a href="https://timothycrosley.github.io/preconvert/"&gt;&lt;img alt="preconvert Logo" src="https://raw.githubusercontent.com/timothycrosley/preconvert/master/art/logo_large.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Project:&lt;/td&gt;
&lt;td&gt;1/52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Title/Link:&lt;/td&gt;
&lt;td&gt;&lt;a href="https://timothycrosley.github.io/preconvert/"&gt;preconvert&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pitch:&lt;/td&gt;
&lt;td&gt;No more &lt;code&gt;is not JSON serializable&lt;/code&gt; errors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read if:&lt;/td&gt;
&lt;td&gt;You use JSON, MessagePack, BSON, or similar. Or, you are interested in the state of developing Python projects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skip if:&lt;/td&gt;
&lt;td&gt;You don't use serialization, only use it with basic built-in types, or only use …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Sun, 18 Aug 2019 23:00:00 -0700</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2019-08-18:/project-1-preconvert</guid><category>New Project</category><category>Projects</category><category>52</category><category>Introduction</category></item><item><title>whoami</title><link>https://timothycrosley.com/whoami</link><description>&lt;p&gt;&lt;a href="images/amanda_and_i.jpg"&gt;&lt;img alt="My Wife and I at the Space Needle" src="images/amanda_and_i.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hi, I'm Timothy! I'm a Principal Software Engineer and Open Source Evangelist working on technologies to keep the web safe at &lt;a href="https://www.domaintools.com/"&gt;DomainTools&lt;/a&gt;.
I live with my wife Amanda and our daughter Penny in the Licton Springs Neighborhood of Seattle.&lt;/p&gt;
&lt;p&gt;You may know me from one of my Python projects, such …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">timothycrosley</dc:creator><pubDate>Sun, 11 Aug 2019 08:00:00 -0700</pubDate><guid isPermaLink="false">tag:timothycrosley.com,2019-08-11:/whoami</guid><category>Introduction</category><category>General</category><category>Personal</category><category>Introduction</category><category>History</category></item></channel></rss>