<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>software on ʕ·ᴥ·ʔ Dmitry's Internet Website</title><link>https://dshemetov.github.io/blog/software/</link><description>Recent content in software on ʕ·ᴥ·ʔ Dmitry's Internet Website</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright © 2026</copyright><lastBuildDate>Sat, 15 Apr 2023 17:50:38 -0800</lastBuildDate><atom:link href="https://dshemetov.github.io/blog/software/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>https://dshemetov.github.io/fast-python/</link><pubDate>Sat, 15 Apr 2023 17:50:38 -0800</pubDate><guid>https://dshemetov.github.io/fast-python/</guid><description>&lt;p&gt;I recently got to work on making fast Python code. I put together &lt;a href="https://gist.github.com/dshemetov/43c6c988e3c9237f15930fc6190b6d77"&gt;an IPython notebook&lt;/a&gt; highlighting some things I learned. Topics include NumPy, Cython, and Numba.&lt;/p&gt;</description></item><item><title>Python Project Structures</title><link>https://dshemetov.github.io/python-project-structures/</link><pubDate>Fri, 02 Sep 2022 17:29:37 -0700</pubDate><guid>https://dshemetov.github.io/python-project-structures/</guid><description>&lt;p&gt;Updated on: 2023-07-24.&lt;/p&gt;&#10;&lt;p&gt;Python project structures are confusing. Let&amp;rsquo;s make them less so.&lt;/p&gt;&#10;&lt;h2 id="terminology"&gt;Terminology&lt;/h2&gt;&#10;&lt;p&gt;First, a few standard Python terminology definitions:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;a &lt;strong&gt;module&lt;/strong&gt; is a single Python script,&lt;/li&gt;&#10;&lt;li&gt;a &lt;strong&gt;package&lt;/strong&gt; is a collection of modules&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;A project may be an application or a library:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;an &lt;strong&gt;application&lt;/strong&gt; is a program that is meant to be deployed, such as a script for numerical calculations, a server, or a Discord bot,&lt;/li&gt;&#10;&lt;li&gt;a &lt;strong&gt;library&lt;/strong&gt; is a package that will be imported by other libraries or applications.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-structures"&gt;Project Structures&lt;/h2&gt;&#10;&lt;p&gt;There are a few common, recommended Python project structures&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;. This is the one I prefer:&lt;/p&gt;</description></item><item><title>Unicode, String Encodings, and Python</title><link>https://dshemetov.github.io/unicode-string-encodings-and-python/</link><pubDate>Thu, 01 Sep 2022 11:20:59 -0700</pubDate><guid>https://dshemetov.github.io/unicode-string-encodings-and-python/</guid><description>&lt;p&gt;I&amp;rsquo;ve been working on the &lt;a href="https://www.cryptopals.com/"&gt;cryptopals challenges&lt;/a&gt; and avoiding stock libraries, to learn more about string encodings and the &lt;code&gt;bytes&lt;/code&gt; type in Python 3.&#10;So here, we&amp;rsquo;ll learn way more than we need to know about Unicode.&lt;/p&gt;&#10;&lt;h2 id="text-as-unicode-strings"&gt;Text as Unicode Strings&lt;/h2&gt;&#10;&lt;p&gt;To work with &lt;strong&gt;text data&lt;/strong&gt;, computers need to work with many different types of characters.&#10;From all the world&amp;rsquo;s languages to symbols to emojis, the list goes on.&#10;Unicode&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; is a specification that aims to give every character used in human texts its own unique and standard code.&lt;/p&gt;</description></item></channel></rss>