
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://farshid.co.uk/entry/nature_s_pinocchios</loc>
    <lastmod>2026-02-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/english_words_i_learned_today</loc>
    <lastmod>2026-02-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/the_shape_shifter_why_ai_driven_polymorphic_attacks_keep_me_up_at_night</loc>
    <lastmod>2025-12-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/highway_workflow_engine</loc>
    <lastmod>2025-11-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/zero_dependency_context_aware_command_line_project_management</loc>
    <lastmod>2025-11-27</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/issue_db_your_issue_tracker_in_your_repo</loc>
    <lastmod>2025-11-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/authorisation_for_humans_a_complete_rbac_library</loc>
    <lastmod>2025-11-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/castle_vs_moat</loc>
    <lastmod>2025-11-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/circuit_breakers_needs_durable_state</loc>
    <lastmod>2025-11-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/critical_lessons_from_implementing_a_highly_complex_workflow_system</loc>
    <lastmod>2025-11-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/building_datashard_solving_data_corruption_in_high_concurrency_ml_workflows</loc>
    <lastmod>2025-11-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_new_article_about_what_i_am_doing</loc>
    <lastmod>2025-11-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_comparison_of_advanced_workflow_engines</loc>
    <lastmod>2025-11-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_complete_workflow_domain_specific_language_highway_dsl</loc>
    <lastmod>2025-11-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_run_processes_in_with_limited_resources_in_linux_no_docker_needed</loc>
    <lastmod>2025-11-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_fully_isolated_commands_in_linux</loc>
    <lastmod>2025-11-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/thundering_herd_problem</loc>
    <lastmod>2025-11-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/toctou_time_of_check_to_time_of_use_vulnerability</loc>
    <lastmod>2025-11-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/durable_workflow_engines_ridiculously_absurd</loc>
    <lastmod>2025-11-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/integrating_highway_dsl_and_absurd_for_a_durable_workflow_engine</loc>
    <lastmod>2025-11-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/highway_dsl_a_pydantic_native_dsl_for_defining_complex_workflows</loc>
    <lastmod>2025-11-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/retunnel_is_amazing</loc>
    <lastmod>2025-11-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/what_is_derivative_of_a_in_respect_to_b</loc>
    <lastmod>2025-10-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/what_is_derivative_of_a_with_respect_to_b</loc>
    <lastmod>2025-10-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/learn_neural_networks</loc>
    <lastmod>2025-10-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/pyspark_style_guide</loc>
    <lastmod>2025-10-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/yspark_style_guide</loc>
    <lastmod>2025-10-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/math_cheatsheets</loc>
    <lastmod>2025-10-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/the_bill_of_materials</loc>
    <lastmod>2025-10-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/flattening_nested_json_objects_with_jq</loc>
    <lastmod>2025-10-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/clone_edit_and_push_files_that_live_in_a_gist</loc>
    <lastmod>2025-10-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/installing_lxml_for_python_on_an_m1m2_mac</loc>
    <lastmod>2025-10-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/recursively_fetching_metadata_for_all_files_in_a_google_drive_folder</loc>
    <lastmod>2025-10-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/open_a_debugging_shell_in_github_actions_with_tmate</loc>
    <lastmod>2025-09-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/geopoly_in_sqlite</loc>
    <lastmod>2025-09-27</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_a_python_asgi_app_on_vercel</loc>
    <lastmod>2025-09-27</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/exporting_and_editing_a_twitter_spaces_recording</loc>
    <lastmod>2025-09-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sqlite_blob_literals</loc>
    <lastmod>2025-09-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/understanding_option_names_in_click</loc>
    <lastmod>2025-09-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/programmatically_comparing_python_version_strings</loc>
    <lastmod>2025-09-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/publishing_to_a_public_google_cloud_bucket_with_gsutil</loc>
    <lastmod>2025-09-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/checking_if_something_is_callable_or_async_callable_in_python</loc>
    <lastmod>2025-09-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/password_hashing_in_python_with_pbkdf2</loc>
    <lastmod>2025-09-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/subqueries_in_select_expressions_in_sqlite_also_window_functions</loc>
    <lastmod>2025-09-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_shell_script_for_running_go_oneliners</loc>
    <lastmod>2025-09-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_lsof_on_macos</loc>
    <lastmod>2025-09-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/configuring_github_codespaces_using_devcontainers</loc>
    <lastmod>2025-09-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/logging_users_out_of_auth0</loc>
    <lastmod>2025-09-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/serving_a_custom_vector_web_map_using_pmtiles_and_maplibregl</loc>
    <lastmod>2025-09-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_fs_usage_to_see_what_files_a_process_is_using</loc>
    <lastmod>2025-09-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_heroku_pgpull_to_restore_a_backup_to_a_macos_laptop</loc>
    <lastmod>2025-09-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/creating_a_minimal_spatialite_database_with_python</loc>
    <lastmod>2025-08-31</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/protocols_in_python</loc>
    <lastmod>2025-08-31</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/html_video_with_subtitles</loc>
    <lastmod>2025-08-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/installing_selenium_for_python_on_macos_with_chromedriver</loc>
    <lastmod>2025-08-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/packaging_a_python_cli_tool_for_homebrew</loc>
    <lastmod>2025-08-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/struct_endianness_in_python</loc>
    <lastmod>2025-08-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_treesitter_with_python</loc>
    <lastmod>2025-08-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/identifying_column_combination_patterns_in_a_sqlite_table</loc>
    <lastmod>2025-08-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_macos_stickies_to_display_a_workshop_link_on_the_screen</loc>
    <lastmod>2025-08-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/automatically_maintaining_homebrew_formulas_using_github_actions</loc>
    <lastmod>2025-08-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/finding_csv_files_that_start_with_a_bom_using_ripgrep</loc>
    <lastmod>2025-08-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/reformatting_text_with_copilot</loc>
    <lastmod>2025-08-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/snapshot_testing_with_syrupy</loc>
    <lastmod>2025-08-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/asserting_a_dictionary_is_a_subset_of_another_dictionary</loc>
    <lastmod>2025-08-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/creating_a_tiled_zoomable_image_with_openseadragon_and_vips</loc>
    <lastmod>2025-08-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/testing_a_click_app_with_streaming_input</loc>
    <lastmod>2025-07-27</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/converting_orf_raw_files_to_jpeg_on_macos</loc>
    <lastmod>2025-07-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/finding_the_sqlite_version_used_by_web_sql_in_chrome</loc>
    <lastmod>2025-07-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_varnish_on_fly</loc>
    <lastmod>2025-07-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/actionssetuppython_caching_for_setuppy_projects</loc>
    <lastmod>2025-07-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/open_external_links_in_an_electron_app_using_the_system_browser</loc>
    <lastmod>2025-07-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/ignoring_errors_in_a_section_of_a_bash_script</loc>
    <lastmod>2025-07-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/compiling_and_running_sqlite3rsync</loc>
    <lastmod>2025-07-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/assigning_a_custom_subdomain_to_a_fly_app</loc>
    <lastmod>2025-07-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/efficiently_copying_a_file</loc>
    <lastmod>2025-07-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/mocking_a_textract_limitexceededexception_with_boto</loc>
    <lastmod>2025-07-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/compiling_to_wasm_with_llvm_on_macos</loc>
    <lastmod>2025-06-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/my_professional_journey_and_passions</loc>
    <lastmod>2025-06-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/autoformatting_yaml_files_with_yamlfmt</loc>
    <lastmod>2025-06-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/bundling_python_inside_an_electron_app</loc>
    <lastmod>2025-06-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/format_code_examples_in_documentation_with_blackendocs</loc>
    <lastmod>2025-06-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/upgrading_a_heroku_postgresql_database_with_pgcopy</loc>
    <lastmod>2025-06-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_llamacpppython_grammars_to_generate_json</loc>
    <lastmod>2025-06-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/redirecting_a_whole_domain_with_cloudflare</loc>
    <lastmod>2025-06-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/customizing_my_zsh_prompt</loc>
    <lastmod>2025-06-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/fixing_compinit_insecure_directories_error</loc>
    <lastmod>2025-06-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/embedding_javascript_in_a_jupyter_notebook</loc>
    <lastmod>2025-06-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_iobufferedreader_to_peek_against_a_nonpeekable_stream</loc>
    <lastmod>2025-06-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/axecore_and_shotscraper_for_accessibility_audits</loc>
    <lastmod>2025-05-31</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_custom_sphinx_templates_on_read_the_docs</loc>
    <lastmod>2025-05-31</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/graphql_fragments</loc>
    <lastmod>2025-05-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/publishing_a_simple_clientside_javascript_package_to_npm_with_github_actions</loc>
    <lastmod>2025-05-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/streaming_output_of_an_indented_json_array</loc>
    <lastmod>2025-05-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/testing_against_python_311_preview_using_github_actions</loc>
    <lastmod>2025-05-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_get_credentials_for_a_new_twitter_bot</loc>
    <lastmod>2025-05-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/rate_limiting_by_ip_using_cloudflares_rate_limiting_rules</loc>
    <lastmod>2025-05-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/training_nanogpt_entirely_on_content_from_my_blog</loc>
    <lastmod>2025-05-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_oneliner_to_output_details_of_the_current_pythons_sqlite</loc>
    <lastmod>2025-05-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/google_oauth2_is_awesome</loc>
    <lastmod>2025-05-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/whisky_sour</loc>
    <lastmod>2025-05-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/minifying_javascript_with_npx_uglifyjs</loc>
    <lastmod>2025-05-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/replicating_sqlite_with_rqlite</loc>
    <lastmod>2025-05-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_selfhosted_quickjs_in_a_browser</loc>
    <lastmod>2025-05-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/simple_load_testing_with_locust</loc>
    <lastmod>2025-05-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/generated_a_summary_of_nested_json_data</loc>
    <lastmod>2025-04-27</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/granting_a_postgresql_user_readonly_access_to_some_tables</loc>
    <lastmod>2025-04-27</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_tests_against_multiple_versions_of_a_python_dependency_in_github_actions</loc>
    <lastmod>2025-04-27</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/lazy_loading_images_in_html</loc>
    <lastmod>2025-04-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_boto3_from_the_command_line</loc>
    <lastmod>2025-04-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/manipulating_query_strings_with_urlsearchparams</loc>
    <lastmod>2025-04-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/macos_catalina_sortof_includes_python_3</loc>
    <lastmod>2025-04-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/serving_a_javascript_project_built_using_vite_from_github_pages</loc>
    <lastmod>2025-04-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_the_gcloud_run_services_list_command</loc>
    <lastmod>2025-04-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/paginating_through_the_github_graphql_api_with_python</loc>
    <lastmod>2025-04-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/embedding_paragraphs_from_my_blog_with_e5largev2</loc>
    <lastmod>2025-04-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/pausing_traffic_and_retrying_in_caddy</loc>
    <lastmod>2025-04-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/syntax_highlighting_python_console_examples_with_gfm</loc>
    <lastmod>2025-04-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/extracting_web_page_content_using_readabilityjs_and_shotscraper</loc>
    <lastmod>2025-04-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/impaste_pasting_images_to_piped_commands_on_macos</loc>
    <lastmod>2025-03-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/trying_out_quarto_on_macos</loc>
    <lastmod>2025-03-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/turning_on_jinja_autoescaping_when_using_template_directly</loc>
    <lastmod>2025-03-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_python_code_in_a_pyodide_sandbox_via_deno</loc>
    <lastmod>2025-03-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_mock_httpx_using_pytestmock</loc>
    <lastmod>2025-03-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/run_python_code_in_a_webassembly_sandbox</loc>
    <lastmod>2025-03-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/trying_out_the_facebook_musicgen_small_sound_generation_model</loc>
    <lastmod>2025-03-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/trying_out_the_facebookmusicgensmall_sound_generation_model</loc>
    <lastmod>2025-03-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_the_fly_docker_registry</loc>
    <lastmod>2025-03-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_simple_two_column_css_grid</loc>
    <lastmod>2025-03-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/closest_locations_to_a_point</loc>
    <lastmod>2025-03-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/learn_data_engineering_topics_using_flash_cards</loc>
    <lastmod>2025-03-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/syncing_slide_images_and_audio_in_imovie</loc>
    <lastmod>2025-03-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_cog_to_update_help_in_a_markdown_readme_file</loc>
    <lastmod>2025-03-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/convert_git_log_output_to_json_using_jq</loc>
    <lastmod>2025-03-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_sphinxextextlinks_for_issue_links</loc>
    <lastmod>2025-03-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/debugging_a_click_application_using_pdb</loc>
    <lastmod>2025-03-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/wider_tooltip_areas_for_observable_plot</loc>
    <lastmod>2025-03-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/trying_out_sqlite_extensions_on_macos</loc>
    <lastmod>2025-02-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/outputting_json_with_reduced_floating_point_precision</loc>
    <lastmod>2025-02-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/publishing_a_docker_container_for_microsoft_edit_to_the_github_container_registry</loc>
    <lastmod>2025-02-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/wildcard_dns_and_ssl_on_fly</loc>
    <lastmod>2025-02-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/ensure_labels_exist_in_a_github_repository</loc>
    <lastmod>2025-02-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_ocr_against_a_pdf_file_with_aws_textract</loc>
    <lastmod>2025-02-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/geocoding_from_python_on_macos_using_pyobjcframeworkcorelocation</loc>
    <lastmod>2025-02-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_duckdb_in_python_to_access_parquet_data</loc>
    <lastmod>2025-02-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/combined_release_notes_from_github_with_jq_and_paginatejson</loc>
    <lastmod>2025-02-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/conditionally_creating_directories_in_cookiecutter</loc>
    <lastmod>2025-02-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_vcr_and_pytest_with_pytestrecording</loc>
    <lastmod>2025-01-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/installing_flashattn_without_compiling_it</loc>
    <lastmod>2025-01-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/tech_blogs_and_podcasts</loc>
    <lastmod>2025-01-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_gpt3_to_figure_out_jq_recipes</loc>
    <lastmod>2025-01-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_pprint_to_print_dictionaries_while_preserving_their_key_order</loc>
    <lastmod>2025-01-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/build_the_official_python_documentation_locally</loc>
    <lastmod>2025-01-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sessionscoped_temporary_directories_in_pytest</loc>
    <lastmod>2025-01-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sqlite_pragma_function_list</loc>
    <lastmod>2025-01-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/vegalite_bar_charts_in_the_same_order_as_the_data</loc>
    <lastmod>2025-01-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/generating_openapi_specifications_using_gpt3</loc>
    <lastmod>2025-01-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_run_mediawiki_with_sqlite_on_a_macos_laptop</loc>
    <lastmod>2025-01-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/introspecting_python_function_parameters</loc>
    <lastmod>2025-01-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/recovering_data_from_aws_lightsail_using_ec2</loc>
    <lastmod>2025-01-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/async_fixtures_with_pytestasyncio</loc>
    <lastmod>2025-01-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/downloading_mapzen_elevation_tiles</loc>
    <lastmod>2025-01-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/testing_things_in_fedora_using_docker</loc>
    <lastmod>2025-01-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_streaming_llm_apis_work</loc>
    <lastmod>2025-01-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/combining_ctes_and_values_in_sqlite</loc>
    <lastmod>2024-12-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/adding_project_links_to_pypi</loc>
    <lastmod>2024-12-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/calculating_the_size_of_a_sqlite_database_file_using_sql</loc>
    <lastmod>2024-12-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/attaching_a_bash_shell_to_a_running_docker_container</loc>
    <lastmod>2024-12-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/bulk_fetching_repository_details_with_the_github_graphql_api</loc>
    <lastmod>2024-12-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/convert_a_datetime_object_to_utc_without_using_pytz</loc>
    <lastmod>2024-12-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/querying_the_github_archive_with_the_clickhouse_playground</loc>
    <lastmod>2024-12-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_multiple_servers_in_a_single_bash_script</loc>
    <lastmod>2024-12-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/signing_and_notarizing_an_electron_app_for_distribution_using_github_actions</loc>
    <lastmod>2024-12-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_buildarg_variables_with_cloud_run_deployments</loc>
    <lastmod>2024-12-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/copy_rich_text_to_the_clipboard</loc>
    <lastmod>2024-12-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/cumulative_total_over_time_in_sql</loc>
    <lastmod>2024-12-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/exporting_amplitude_events_to_sqlite</loc>
    <lastmod>2024-12-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/exploring_openais_deep_research_api_model_o4minideepresearch</loc>
    <lastmod>2024-12-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/google_oauth_for_a_cli_application</loc>
    <lastmod>2024-12-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/treating_warnings_as_errors_in_pytest</loc>
    <lastmod>2024-12-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_jq_in_an_observable_notebook</loc>
    <lastmod>2024-12-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sqlite_triggers</loc>
    <lastmod>2024-12-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/storing_and_serving_related_documents_with_openaitosqlite_and_embeddings</loc>
    <lastmod>2024-12-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/mlcchat_redpajamaincitechat3b_on_macos</loc>
    <lastmod>2024-12-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/upgrade_postgresapp_on_macos</loc>
    <lastmod>2024-12-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_jest_without_a_packagejson</loc>
    <lastmod>2024-12-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/looping_over_commaseparated_values_in_bash</loc>
    <lastmod>2024-11-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/adding_sphinx_autodoc_to_a_project_and_configuring_read_the_docs_to_build_it</loc>
    <lastmod>2024-11-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/pisco_sour</loc>
    <lastmod>2024-11-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/search_and_replace_with_regular_expressions_in_vs_code</loc>
    <lastmod>2024-11-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/gunion_to_combine_geometries_in_spatialite</loc>
    <lastmod>2024-11-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_ask_questions</loc>
    <lastmod>2024-11-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/calculating_the_size_of_all_lfs_files_in_a_repo</loc>
    <lastmod>2024-11-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/migrationsrunsqlnoop_for_reversible_sql_migrations</loc>
    <lastmod>2024-11-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_gdb_against_a_python_process_in_a_running_docker_container</loc>
    <lastmod>2024-11-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_the_tesseract_cli_tool</loc>
    <lastmod>2024-11-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/adding_a_robotstxt_using_cloudflare_workers</loc>
    <lastmod>2024-11-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/kubectl_proxy</loc>
    <lastmod>2024-11-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/combining_substr_and_instr_to_extract_text</loc>
    <lastmod>2024-10-27</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/removing_a_git_commit_and_force_pushing_to_remove_it_from_history</loc>
    <lastmod>2024-10-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/creating_a_dynamic_line_chart_with_svg</loc>
    <lastmod>2024-10-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/reading_thermometer_temperatures_over_time_from_a_video</loc>
    <lastmod>2024-10-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/avoiding_length_errors_in_apache_bench_with_the_l_option</loc>
    <lastmod>2024-10-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_deploy_a_folder_with_a_dockerfile_to_cloud_run</loc>
    <lastmod>2024-10-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/testing_cookiecutter_templates_with_pytest</loc>
    <lastmod>2024-10-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/collecting_replies_to_tweets_using_javascript</loc>
    <lastmod>2024-10-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/importing_csv_data_into_sqlite_with_import</loc>
    <lastmod>2024-10-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/increasing_the_time_limit_for_a_google_cloud_scheduler_task</loc>
    <lastmod>2024-10-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_c_include_path_to_install_python_packages</loc>
    <lastmod>2024-10-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_psutil_to_investigate_too_many_open_files</loc>
    <lastmod>2024-10-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/lag_window_function_in_sqlite</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/oneliner_for_running_queries_against_csv_files_with_sqlite</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_docker_on_an_m1_mac</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/tracing_every_executed_python_statement</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_nginx_to_proxy_to_a_unix_domain_socket</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/writing_javascript_that_responds_to_media_queries</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/getgraphqlschema</loc>
    <lastmod>2024-10-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/mocking_stripe_signature_checks_in_a_pytest_fixture</loc>
    <lastmod>2024-10-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_gitfilterrepo_to_set_commit_dates_to_author_dates</loc>
    <lastmod>2024-10-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_the_sqlite3_python_module_in_pyodide_python_webassembly</loc>
    <lastmod>2024-10-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/intercepting_fetch_in_a_service_worker</loc>
    <lastmod>2024-09-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/dynamically_loading_multiple_assets_with_a_callback</loc>
    <lastmod>2024-09-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/installing_tools_written_in_go</loc>
    <lastmod>2024-09-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/rewriting_a_repo_to_contain_the_history_of_just_specific_files</loc>
    <lastmod>2024-09-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/upgrading_a_pipx_application_to_an_alpha_version</loc>
    <lastmod>2024-09-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_sql_with_gdal</loc>
    <lastmod>2024-09-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/constanttime_comparison_of_strings_in_node</loc>
    <lastmod>2024-09-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_pytest_against_a_specific_python_version_with_uv_run</loc>
    <lastmod>2024-09-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/streaming_indented_output_of_a_json_array</loc>
    <lastmod>2024-09-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/exploring_colbert_with_ragatouille</loc>
    <lastmod>2024-09-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/reusing_an_existing_click_tool_with_register_commands</loc>
    <lastmod>2024-09-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_a_gptoss_eval_suite_against_lm_studio_on_a_mac</loc>
    <lastmod>2024-09-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/compressing_an_animated_gif_with_gifsicle_or_imagemagick_mogrify</loc>
    <lastmod>2024-09-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/learn_something_new_every_day</loc>
    <lastmod>2024-09-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/saving_an_inmemory_sqlite_database_to_a_file_in_python</loc>
    <lastmod>2024-09-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/handling_csv_files_with_wide_columns_in_python</loc>
    <lastmod>2024-09-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_awk_to_add_a_prefix</loc>
    <lastmod>2024-09-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/hexdump_and_hexdump_c</loc>
    <lastmod>2024-09-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/html_video_that_loads_when_the_user_clicks_play</loc>
    <lastmod>2024-09-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_read_hacker_news_threads_with_most_recent_comments_first</loc>
    <lastmod>2024-09-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/attaching_a_generated_file_to_a_github_release_using_actions</loc>
    <lastmod>2024-09-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/skipping_csv_rows_with_odd_numbers_of_quotes_using_ripgrep</loc>
    <lastmod>2024-08-31</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/start_test_then_stop_a_localhost_web_server_in_a_bash_script</loc>
    <lastmod>2024-08-31</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/comparing_database_rows_before_and_after_with_sqlite_json_functions</loc>
    <lastmod>2024-08-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/loading_radiogarden_into_sqlite_using_jq</loc>
    <lastmod>2024-08-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/get_skitch_working_on_catalina</loc>
    <lastmod>2024-08-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/getting_python_md5_to_work_with_fips_systems</loc>
    <lastmod>2024-08-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/switching_between_gcloud_accounts</loc>
    <lastmod>2024-08-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/writing_fly_logs_to_s3</loc>
    <lastmod>2024-08-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/fixes_for_datetime_utc_warnings_in_python</loc>
    <lastmod>2024-08-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/init_subclass</loc>
    <lastmod>2024-08-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/social_media_cards_generated_with_shotscraper</loc>
    <lastmod>2024-08-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/the_simplest_recursive_cte</loc>
    <lastmod>2024-08-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/calculating_embeddings_with_gtrt5large_in_python</loc>
    <lastmod>2024-08-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/backdating_git_commits_based_on_file_modification_dates</loc>
    <lastmod>2024-08-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/github_actions_issues_and_pages_to_build_a_daily_planner</loc>
    <lastmod>2024-08-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/making_http_calls_using_ipv6</loc>
    <lastmod>2024-08-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/updating_stable_docs_in_readthedocs_without_pushing_a_release</loc>
    <lastmod>2024-08-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/working_around_the_size_limit_for_nodevalue_in_the_dom</loc>
    <lastmod>2024-08-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/knn_queries_with_spatialite</loc>
    <lastmod>2024-08-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/pointing_a_custom_subdomain_at_read_the_docs</loc>
    <lastmod>2024-08-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/the_location_of_the_pip_cache_directory</loc>
    <lastmod>2024-08-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/upgrading_homebrew_and_avoiding_the_failed_to_verify_attestation_error</loc>
    <lastmod>2024-08-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_recursive_ctes_to_explore_hierarchical_twitter_threads</loc>
    <lastmod>2024-07-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_script_to_capture_frames_from_a_quicktime_video</loc>
    <lastmod>2024-07-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/pytest_coverage_with_context</loc>
    <lastmod>2024-07-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/transferring_a_github_issue_from_a_private_to_a_public_repository</loc>
    <lastmod>2024-07-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/grabbing_a_transcript_of_a_short_snippet_of_a_youtube_video_with_macwhisper</loc>
    <lastmod>2024-07-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sqlite_vacuum_database_or_disk_is_full</loc>
    <lastmod>2024-07-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/browsing_your_local_git_checkout_of_homebrewcore</loc>
    <lastmod>2024-07-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_jupyterlab_via_uv_tool_install</loc>
    <lastmod>2024-07-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/installing_different_postgresql_server_versions_in_github_actions</loc>
    <lastmod>2024-07-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/publishing_a_web_component_to_npm</loc>
    <lastmod>2024-07-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_simple_python_wrapper_for_the_chatgpt_api</loc>
    <lastmod>2024-07-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/implementing_a_copy_to_clipboard_button</loc>
    <lastmod>2024-07-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/quickly_testing_code_in_a_different_python_version_using_pyenv</loc>
    <lastmod>2024-07-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/limited_json_api_for_google_searches_using_programmable_search_engine</loc>
    <lastmod>2024-06-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/start_a_server_in_a_subprocess_during_a_pytest_session</loc>
    <lastmod>2024-06-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_asyncawait_in_javascript_in_selenium</loc>
    <lastmod>2024-06-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_openai_functions_and_their_python_library_for_data_extraction</loc>
    <lastmod>2024-06-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_prettier_to_check_javascript_code_style_in_github_actions</loc>
    <lastmod>2024-06-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/installing_packages_from_debian_unstable_in_a_docker_image_based_on_stable</loc>
    <lastmod>2024-06-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/redirecting_all_paths_on_a_vercel_instance</loc>
    <lastmod>2024-06-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/testing_different_python_versions_with_uv_witheditable_and_uvtest</loc>
    <lastmod>2024-06-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/migrating_a_github_wiki_from_one_repository_to_another</loc>
    <lastmod>2024-06-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/processing_a_stream_of_chunks_of_json_with_ijson</loc>
    <lastmod>2024-06-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/upgrading_packages_with_npm</loc>
    <lastmod>2024-06-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/registering_the_same_pluggy_hook_multiple_times_in_a_single_file</loc>
    <lastmod>2024-06-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_cog_automatically_against_github_pull_requests</loc>
    <lastmod>2024-06-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/safely_outputting_json</loc>
    <lastmod>2024-06-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/livestreaming_a_community_election_event_on_youtube</loc>
    <lastmod>2024-06-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/registering_temporary_pluggy_plugins_inside_tests</loc>
    <lastmod>2024-06-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/summarizing_hacker_news_discussion_themes_with_claude_and_llm</loc>
    <lastmod>2024-06-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/trick_apple_photos_into_letting_you_access_your_video_files</loc>
    <lastmod>2024-05-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/dropdown_menu_with_details_summary</loc>
    <lastmod>2024-05-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/useful_markdown_extensions_in_python</loc>
    <lastmod>2024-05-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/enabling_wal_mode_for_sqlite_database_files</loc>
    <lastmod>2024-05-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/error_153_video_player_configuration_error_on_youtube_embeds</loc>
    <lastmod>2024-05-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/named_entity_resolution_with_dslimdistilbertner</loc>
    <lastmod>2024-05-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/conditionally_running_a_second_job_in_a_github_actions_workflow</loc>
    <lastmod>2024-05-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/setting_cachecontrol_maxage31536000_with_a_cloudflare_transform_rule</loc>
    <lastmod>2024-05-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/the_pdb_interact_command</loc>
    <lastmod>2024-05-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_chatgpt_to_write_applescript</loc>
    <lastmod>2024-05-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/custom_jinja_template_tags_with_attributes</loc>
    <lastmod>2024-05-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/restricting_ssh_connections_to_devices_within_a_tailscale_network</loc>
    <lastmod>2024-05-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_grep_to_write_tests_in_ci</loc>
    <lastmod>2024-05-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/adding_a_cors_policy_to_an_s3_bucket</loc>
    <lastmod>2024-05-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sort_by_number_of_json_intersections</loc>
    <lastmod>2024-05-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_pip_install_e_test_in_zsh_on_macos_catalina</loc>
    <lastmod>2024-05-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/seeing_files_opened_by_a_process_using_opensnoop</loc>
    <lastmod>2024-05-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_tesseractjs_to_ocr_every_image_on_a_page</loc>
    <lastmod>2024-05-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/raft_consensus_explained</loc>
    <lastmod>2024-05-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/calculating_the_aqi_based_on_the_purple_air_api_for_a_sensor</loc>
    <lastmod>2024-04-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/mocking_subprocess_with_pytestsubprocess</loc>
    <lastmod>2024-04-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_the_undocumented_fly_graphql_api</loc>
    <lastmod>2024-04-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sips_scriptable_image_processing_system</loc>
    <lastmod>2024-04-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/controlling_the_style_of_dumped_yaml_using_pyyaml</loc>
    <lastmod>2024-04-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/piping_echo_to_a_file_owned_by_root_using_sudo_and_tee</loc>
    <lastmod>2024-04-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/publish_releases_to_pypi_from_github_actions_without_a_password_or_token</loc>
    <lastmod>2024-04-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sqlite_aggregate_filter_clauses</loc>
    <lastmod>2024-04-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/turning_an_array_of_arrays_into_objects_with_jq</loc>
    <lastmod>2024-04-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/assistance_with_release_notes_using_github_issues</loc>
    <lastmod>2024-04-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/json_pointer</loc>
    <lastmod>2024-04-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/listen_to_a_web_page_in_mobile_safari</loc>
    <lastmod>2024-04-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_different_steps_on_a_schedule</loc>
    <lastmod>2024-04-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/summing_columns_in_remote_parquet_files_using_duckdb</loc>
    <lastmod>2024-04-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/toml_in_python</loc>
    <lastmod>2024-04-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_pip_install_docs_on_readthedocs</loc>
    <lastmod>2024-04-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/show_files_opened_by_pytest_tests</loc>
    <lastmod>2024-04-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/guessing_amazon_image_urls_using_github_copilot</loc>
    <lastmod>2024-04-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/simplest_possible_oauth_authentication_with_auth0</loc>
    <lastmod>2024-04-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/set_a_gif_to_loop_using_imagemagick</loc>
    <lastmod>2024-03-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/close_terminal_window_on_ctrld_for_macos</loc>
    <lastmod>2024-03-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/generating_a_calendar_week_grid_with_the_python_calendar_module</loc>
    <lastmod>2024-03-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/getting_mastodon_running_on_a_custom_domain</loc>
    <lastmod>2024-03-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/piping_from_rg_to_llm_to_answer_questions_about_code</loc>
    <lastmod>2024-03-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/creating_desktop_backgrounds_using_midjourney</loc>
    <lastmod>2024-03-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/escaping_strings_in_bash_using_q</loc>
    <lastmod>2024-03-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sqlite_can_use_more_than_one_index_for_a_query</loc>
    <lastmod>2024-03-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_scp_files_to_and_from_fly</loc>
    <lastmod>2024-03-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/loading_lit_from_skypack</loc>
    <lastmod>2024-03-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_iconv_to_convert_the_text_encoding_of_a_file</loc>
    <lastmod>2024-03-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/sqlite_timestamps_with_floating_point_seconds</loc>
    <lastmod>2024-03-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/emulating_a_bigendian_s390x_with_qemu</loc>
    <lastmod>2024-03-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/promoting_the_stable_version_of_the_documentation_using_relcanonical</loc>
    <lastmod>2024-03-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/querying_for_github_issues_open_for_less_than_60_seconds</loc>
    <lastmod>2024-03-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_s3_triggers_to_maintain_a_list_of_files_in_dynamodb</loc>
    <lastmod>2024-03-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/the_most_basic_possible_hugo_site</loc>
    <lastmod>2024-02-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/listing_files_uploaded_to_cloud_build</loc>
    <lastmod>2024-02-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/show_the_sql_schema_for_a_postgresql_database</loc>
    <lastmod>2024-02-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_the_chatgpt_streaming_api_from_python</loc>
    <lastmod>2024-02-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/converting_html_and_richtext_to_markdown</loc>
    <lastmod>2024-02-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/javascript_date_objects</loc>
    <lastmod>2024-02-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/python_packages_with_pyprojecttoml_and_nothing_else</loc>
    <lastmod>2024-02-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/tailing_google_cloud_run_request_logs_and_importing_them_into_sqlite</loc>
    <lastmod>2024-02-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/trying_out_python_packages_with_ipython_and_uvx</loc>
    <lastmod>2024-02-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/osremove_on_windows_fails_if_the_file_is_already_open</loc>
    <lastmod>2024-02-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/verifying_your_github_profile_on_mastodon</loc>
    <lastmod>2024-02-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/deploying_a_redbean_app_to_fly</loc>
    <lastmod>2024-02-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/querying_for_items_stored_in_utc_that_were_created_on_a_thursday_in_pst</loc>
    <lastmod>2024-02-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_dolly_20_on_paperspace</loc>
    <lastmod>2024-02-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_get_cloudflare_to_cache_html</loc>
    <lastmod>2024-02-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/trying_out_freethreaded_python_on_macos</loc>
    <lastmod>2024-02-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/finding_duplicate_records_by_matching_name_and_nearby_distance</loc>
    <lastmod>2024-01-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/webauthn_browser_support</loc>
    <lastmod>2024-01-27</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/editing_an_iphone_home_screen_using_macos</loc>
    <lastmod>2024-01-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/export_a_mastodon_timeline_to_sqlite</loc>
    <lastmod>2024-01-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/figuring_out_if_a_text_value_in_sqlite_is_a_valid_integer_or_float</loc>
    <lastmod>2024-01-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/run_pytest_against_a_specific_python_version_using_docker</loc>
    <lastmod>2024-01-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/deploying_python_web_apps_as_aws_lambda_functions</loc>
    <lastmod>2024-01-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/skipping_a_github_actions_step_without_failing</loc>
    <lastmod>2024-01-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/transcribing_mp3s_with_whispercpp_on_macos</loc>
    <lastmod>2024-01-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_a_tailscale_exit_node_with_github_actions</loc>
    <lastmod>2024-01-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_unnest_to_use_a_commaseparated_string_as_the_input_to_an_in_query</loc>
    <lastmod>2024-01-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/workaround_for_googlegithubactionssetupgcloud_errors</loc>
    <lastmod>2024-01-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/configuring_dependabot_for_a_python_project</loc>
    <lastmod>2024-01-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/the_sqlite_now_argument_is_stable_within_the_same_query</loc>
    <lastmod>2024-01-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/display_ec2_instance_costs_per_month</loc>
    <lastmod>2023-12-31</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/formatting_thousands_in_jinja</loc>
    <lastmod>2023-12-31</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_namedtuple_for_pytest_parameterized_tests</loc>
    <lastmod>2023-12-31</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/packaging_a_python_app_as_a_standalone_binary_with_pyinstaller</loc>
    <lastmod>2023-12-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/constructing_geojson_in_postgresql</loc>
    <lastmod>2023-12-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/providing_a_subscribe_in_google_calendar_link_for_an_ics_feed</loc>
    <lastmod>2023-12-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/compile_a_new_sqlite3_binary_on_ubuntu</loc>
    <lastmod>2023-12-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/the_wikipedia_page_stats_api</loc>
    <lastmod>2023-12-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/read_the_docs_search_api</loc>
    <lastmod>2023-12-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/reporting_bugs_in_github_to_github</loc>
    <lastmod>2023-12-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/splitting_on_commas_in_sqlite</loc>
    <lastmod>2023-12-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/athena_error_the_specified_key_does_not_exist</loc>
    <lastmod>2023-12-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_curl_to_run_graphql_queries_from_the_command_line</loc>
    <lastmod>2023-12-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/atuin_for_zsh_shell_history_in_sqlite</loc>
    <lastmod>2023-11-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/installing_python_on_macos_with_the_official_python_installer</loc>
    <lastmod>2023-11-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/testing_the_accesscontrolmaxage_cors_header</loc>
    <lastmod>2023-11-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/writing_an_azure_function_that_serves_all_traffic_to_a_subdomain</loc>
    <lastmod>2023-11-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/cloudflare_redirect_rules_with_dynamic_expressions</loc>
    <lastmod>2023-11-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/commit_a_file_if_it_changed</loc>
    <lastmod>2023-11-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/only_run_github_action_on_push_to_master_main</loc>
    <lastmod>2023-11-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/quick_and_dirty_mock_testing_with_mock_calls</loc>
    <lastmod>2023-11-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_ethernet_over_existing_coaxial_cable</loc>
    <lastmod>2023-11-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_playwright_mcp_with_claude_code</loc>
    <lastmod>2023-11-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/scroll_page_to_form_if_there_are_errors</loc>
    <lastmod>2023-11-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/styling_an_html_dialog_modal_to_take_the_full_height_of_the_viewport</loc>
    <lastmod>2023-11-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/writing_pytest_tests_against_tools_written_with_argparse</loc>
    <lastmod>2023-11-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/bulk_editing_status_in_github_projects</loc>
    <lastmod>2023-11-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/freezing_requirements_with_piptools</loc>
    <lastmod>2023-11-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/html_datalist</loc>
    <lastmod>2023-11-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_pypy_on_macos_using_homebrew</loc>
    <lastmod>2023-11-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/scraping_the_sky_news_westminster_accounts_a_flourish_application</loc>
    <lastmod>2023-11-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/understanding_the_css_autoresizing_textarea_trick</loc>
    <lastmod>2023-11-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/annotated_code_for_a_demo_of_websocket_chat_in_deno_deploy</loc>
    <lastmod>2023-10-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/track_timestamped_changes_to_a_sqlite_table_using_triggers</loc>
    <lastmod>2023-10-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/compile_and_run_a_new_sqlite_version_with_the_existing_sqlite3_python_library_on_macos</loc>
    <lastmod>2023-10-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/github_oauth_for_a_static_site_using_cloudflare_workers</loc>
    <lastmod>2023-10-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/rewriting_a_git_repo_to_remove_secrets_from_the_history</loc>
    <lastmod>2023-10-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/search_across_all_loaded_resources_in_firefox</loc>
    <lastmod>2023-10-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_fabric_with_an_ssh_public_key</loc>
    <lastmod>2023-10-14</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/compiling_the_sqlite_spellfixc_module_on_macos</loc>
    <lastmod>2023-10-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/enabling_a_gin_index_for_faster_like_queries</loc>
    <lastmod>2023-10-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/scroll_to_text_fragments</loc>
    <lastmod>2023-10-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/planning_parallel_downloads_with_topologicalsorter</loc>
    <lastmod>2023-09-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/finding_uses_of_an_api_with_the_new_github_code_search</loc>
    <lastmod>2023-09-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/literalinclude_with_markers_for_showing_code_in_documentation</loc>
    <lastmod>2023-09-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/understanding_kristofer_josephs_single_file_web_component</loc>
    <lastmod>2023-09-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/searching_for_repositories_by_topic_using_the_github_graphql_api</loc>
    <lastmod>2023-09-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/annotated_explanation_of_david_beazleys_dataklasses</loc>
    <lastmod>2023-09-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/basic_strace_to_see_what_a_process_is_doing</loc>
    <lastmod>2023-09-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/list_all_columns_in_a_sqlite_database</loc>
    <lastmod>2023-09-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/null_case_comparisons_in_sqlite</loc>
    <lastmod>2023-09-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/storing_files_in_an_s3_bucket_between_github_actions_runs</loc>
    <lastmod>2023-09-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/copy_tables_between_sqlite_databases</loc>
    <lastmod>2023-09-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/check_spelling_using_codespell</loc>
    <lastmod>2023-09-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/free_api_gateway_to_expose_localhost_ngrok_alternative</loc>
    <lastmod>2023-09-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/gpt4_for_api_design_research</loc>
    <lastmod>2023-09-10</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/downloading_partial_youtube_videos_with_ffmpeg</loc>
    <lastmod>2023-09-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/local_wildcard_dns_on_macos_with_dnsmasq</loc>
    <lastmod>2023-09-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_json_extract_path_in_postgresql</loc>
    <lastmod>2023-09-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/upgrading_python_homebrew_packages_using_pip</loc>
    <lastmod>2023-09-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_the_github_actions_cache_with_npx_and_no_packagejson</loc>
    <lastmod>2023-09-03</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/cli_tools_hidden_in_the_python_standard_library</loc>
    <lastmod>2023-08-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/cybersecurity_diary_reflections_on_recent_retail_breaches</loc>
    <lastmod>2023-08-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/returning_related_rows_in_a_single_sql_query_using_json</loc>
    <lastmod>2023-08-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/mouse_support_in_vim</loc>
    <lastmod>2023-08-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/counting_sqlite_virtual_machine_operations</loc>
    <lastmod>2023-08-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/histogram_with_tooltips_in_observable_plot</loc>
    <lastmod>2023-08-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/pixel_editing_a_favicon_with_pixelmator</loc>
    <lastmod>2023-08-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/google_chrome_headless_mode</loc>
    <lastmod>2023-08-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/logging_openai_api_requests_and_responses_using_httpx</loc>
    <lastmod>2023-08-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/testing_electron_apps_with_playwright_and_github_actions</loc>
    <lastmod>2023-08-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/building_and_deploying_a_custom_site_using_github_actions_and_github_pages</loc>
    <lastmod>2023-08-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/shotscraper_for_a_subset_of_table_columns</loc>
    <lastmod>2023-08-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/fixing_broken_text_encodings_with_sqlitetransform_and_ftfy</loc>
    <lastmod>2023-07-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/optin_integration_tests_with_pytest_integration</loc>
    <lastmod>2023-07-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/accessing_1password_items_from_the_terminal</loc>
    <lastmod>2023-07-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_chatgpt_browse_to_name_a_python_package</loc>
    <lastmod>2023-07-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/rendering_markdown_with_the_github_markdown_api</loc>
    <lastmod>2023-07-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_simple_pattern_for_inlining_binary_content_in_a_python_script</loc>
    <lastmod>2023-07-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/redirecting_a_domain_using_cloudflare_pages</loc>
    <lastmod>2023-07-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/concatenating_strings_and_newlines_in_google_sheets</loc>
    <lastmod>2023-07-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/trying_out_crsqlite_on_macos</loc>
    <lastmod>2023-07-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/setting_up_a_custom_subdomain_for_a_github_pages_site</loc>
    <lastmod>2023-07-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/scraping_reddit_via_their_json_api</loc>
    <lastmod>2023-07-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/explicit_file_encodings_using_clickfile</loc>
    <lastmod>2023-07-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/optimizing_pngs_in_github_actions_using_oxipng</loc>
    <lastmod>2023-07-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_ld_preload_to_run_any_version_of_sqlite_with_python</loc>
    <lastmod>2023-07-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/extracting_objects_recursively_with_jq</loc>
    <lastmod>2023-06-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/converting_airtable_json_for_use_with_sqliteutils_using_jq</loc>
    <lastmod>2023-06-24</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/passing_command_arguments_using_heredoc_syntax</loc>
    <lastmod>2023-06-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/deno_kv</loc>
    <lastmod>2023-06-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/loading_sqlite_extensions_in_python_on_macos</loc>
    <lastmod>2023-06-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_packages_from_jsr_with_esbuild</loc>
    <lastmod>2023-06-17</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/interpreting_photo_orientation_and_locations_in_exif_data</loc>
    <lastmod>2023-06-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/accessing_repository_dependencies_in_the_github_graphql_api</loc>
    <lastmod>2023-06-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/building_mastodon_bots_with_github_actions_and_toot</loc>
    <lastmod>2023-06-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/consecutive_groups_in_sql_using_window_functions</loc>
    <lastmod>2023-05-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/finding_the_largest_sqlite_files_on_a_mac</loc>
    <lastmod>2023-05-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/relinquishing_control_in_python_asyncio</loc>
    <lastmod>2023-05-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/generating_documentation_from_tests_using_filestoprompt_and_llm</loc>
    <lastmod>2023-05-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/generating_urls_to_a_gmail_compose_window</loc>
    <lastmod>2023-05-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/shrinking_png_files_with_pngquant_and_oxipng</loc>
    <lastmod>2023-05-20</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/downloading_every_video_for_a_tiktok_account</loc>
    <lastmod>2023-05-13</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_the_chrome_devtools_console_as_a_repl_for_an_electron_app</loc>
    <lastmod>2023-05-07</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_pysqlite3_on_macos</loc>
    <lastmod>2023-05-06</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/ignoring_a_line_in_both_flake8_and_mypy</loc>
    <lastmod>2023-04-30</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/annotated_packagejson_for_idbkeyval</loc>
    <lastmod>2023-04-29</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_call_pip_programatically_from_python</loc>
    <lastmod>2023-04-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_pipenv_and_docker</loc>
    <lastmod>2023-04-23</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/driving_an_external_display_from_a_mac_laptop</loc>
    <lastmod>2023-04-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/helper_function_for_pagination_using_aws_boto3</loc>
    <lastmod>2023-04-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/programatically_accessing_heroku_postgresql_from_github_actions</loc>
    <lastmod>2023-04-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/testing_html_tables_with_playwright_python</loc>
    <lastmod>2023-04-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/github_actions_job_summaries</loc>
    <lastmod>2023-04-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/use_setuppy_to_install_platformspecific_dependencies</loc>
    <lastmod>2023-04-16</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/cryptography_in_pyodide</loc>
    <lastmod>2023-04-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/expanding_chatgpt_code_interpreter_with_python_packages_deno_and_lua</loc>
    <lastmod>2023-04-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_to_create_a_tarball_of_a_git_repository_using_git_archive</loc>
    <lastmod>2023-04-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_nanogpt_on_a_macbook_m2_to_generate_terrible_shakespeare</loc>
    <lastmod>2023-04-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_tests_against_postgresql_in_a_service_container</loc>
    <lastmod>2023-04-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/tommys_margarita</loc>
    <lastmod>2023-04-09</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/how_i_studied_for_my_ham_radio_general_exam</loc>
    <lastmod>2023-04-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/creating_github_repository_labels_with_an_actions_workflow</loc>
    <lastmod>2023-04-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/enabling_a_user_to_execute_a_specific_command_as_root_without_a_password</loc>
    <lastmod>2023-04-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/nullglob_in_bash</loc>
    <lastmod>2023-04-02</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/languagespecific_indentation_settings_in_vs_code</loc>
    <lastmod>2023-04-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/writing_tests_with_copilot</loc>
    <lastmod>2023-04-01</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/code_coverage_using_pytest_and_codecovio</loc>
    <lastmod>2023-03-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_prompts_against_images_pdfs_audio_and_video_with_google_gemini</loc>
    <lastmod>2023-03-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/linking_from_latest_to_stable_on_read_the_docs</loc>
    <lastmod>2023-03-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_a_mysql_server_using_homebrew</loc>
    <lastmod>2023-03-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/deploying_the_clip_embedding_model_on_fly</loc>
    <lastmod>2023-03-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_expect_to_wait_for_a_selector_to_match_multiple_items</loc>
    <lastmod>2023-03-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_python_code_in_a_subprocess_with_a_time_limit</loc>
    <lastmod>2023-02-26</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/allowing_a_container_in_docker_desktop_for_mac_to_talk_to_a_postgresql_server_on_the_host_machine</loc>
    <lastmod>2023-02-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/find_local_variables_in_the_traceback_for_an_exception</loc>
    <lastmod>2023-02-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/git_bisect</loc>
    <lastmod>2023-02-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/tracking_sqlite_table_history_using_a_json_audit_log</loc>
    <lastmod>2023-02-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/very_basic_tsc_usage</loc>
    <lastmod>2023-02-25</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/defining_setuppy_dependencies_using_a_url</loc>
    <lastmod>2023-02-19</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/decorators_with_optional_arguments</loc>
    <lastmod>2023-02-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/ordered_group_concat_in_sqlite</loc>
    <lastmod>2023-02-18</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/dump_out_all_github_actions_context</loc>
    <lastmod>2023-02-12</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/building_a_specific_version_of_sqlite_with_pysqlite_on_macoslinux</loc>
    <lastmod>2023-02-11</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/querying_newlinedelimited_json_logs_using_aws_athena</loc>
    <lastmod>2023-02-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/set_environment_variables_for_all_steps_in_a_github_action</loc>
    <lastmod>2023-02-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_uv_to_develop_python_commandline_applications</loc>
    <lastmod>2023-02-05</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_tip_for_debugging_pytesthttpx</loc>
    <lastmod>2023-02-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/using_pytest_and_playwright_to_test_a_javascript_web_application</loc>
    <lastmod>2023-02-04</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/a_simple_python_implementation_of_the_react_pattern_for_llms</loc>
    <lastmod>2023-01-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/comparing_two_training_datasets_using_sqliteutils</loc>
    <lastmod>2023-01-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/preventing_double_form_submissions_with_javascript</loc>
    <lastmod>2023-01-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/writing_tests_for_the_asgi_lifespan_protocol_with_httpx</loc>
    <lastmod>2023-01-28</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/configuring_autoupdate_for_an_electron_app</loc>
    <lastmod>2023-01-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_llama_7b_and_13b_on_a_64gb_m2_macbook_pro_with_llamacpp</loc>
    <lastmod>2023-01-22</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/converting_nodecimalpoint_latitudes_and_longitudes_using_jq</loc>
    <lastmod>2023-01-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/reviewing_your_history_of_public_github_repositories_using_clickhouse</loc>
    <lastmod>2023-01-21</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/browse_files_including_sqlite_databases_on_your_iphone_with_ifuse</loc>
    <lastmod>2023-01-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/updating_a_markdown_table_of_contents_with_a_github_action</loc>
    <lastmod>2023-01-15</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/running_openais_large_context_models_using_llm</loc>
    <lastmod>2023-01-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/unix_timestamp_in_milliseconds_in_sqlite</loc>
    <lastmod>2023-01-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/use_labels_on_cloud_run_services_for_a_billing_breakdown</loc>
    <lastmod>2023-01-08</lastmod>
  </url>
  <url>
    <loc>https://farshid.co.uk/entry/talking_to_a_postgresql_service_container_from_inside_a_docker_container</loc>
    <lastmod>2023-01-01</lastmod>
  </url>
</urlset>

