56,966 blogs · [ { "id": "01a087e7-41cd-7321-949c-0a7b63db33ec", "title": "Sidewinder: Configured Django on your own server in 10 minutes", "url": "https://stribny.name/posts/sidewinder/", "published_at": "2023-08-03T20:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b64bae214", "title": "Different request and response serializers in Django REST Framework", "url": "https://stribny.name/posts/drf-different-request-response-serializers/", "published_at": "2023-06-17T12:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6581a18a", "title": "Caddy 2 config for serving Django, FastAPI and other web apps", "url": "https://stribny.name/posts/caddy-config/", "published_at": "2023-01-09T20:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b666c8ef0", "title": "Ad hoc using and testing HTTP APIs", "url": "https://stribny.name/posts/adhoc-using-testing-api/", "published_at": "2022-12-27T15:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b672a0d46", "title": "Extracting PDF pages with Python", "url": "https://stribny.name/posts/extract-pdf-pages-python/", "published_at": "2022-12-18T14:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b67f354c2", "title": "Testing that OpenAPI Spec is valid with OpenAPI Spec Validator and Pytest", "url": "https://stribny.name/posts/testing-openapi-spec-valid/", "published_at": "2022-12-18T14:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b689a9dfc", "title": "Creating a custom Bulma build", "url": "https://stribny.name/posts/bulma-build/", "published_at": "2021-10-09T14:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6957f92c", "title": "Async SQLAlchemy with FastAPI", "url": "https://stribny.name/posts/fastapi-asyncalchemy/", "published_at": "2021-03-31T18:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b69db4055", "title": "Backup and restore PostgreSQL databases with Ansible", "url": "https://stribny.name/posts/ansible-postgresql-backups/", "published_at": "2021-03-29T22:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6a2f2dd8", "title": "Install and configure PostgreSQL with Ansible", "url": "https://stribny.name/posts/ansible-postgresql/", "published_at": "2021-03-29T21:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6a80ce12", "title": "Streaming video with FastAPI", "url": "https://stribny.name/posts/fastapi-video/", "published_at": "2021-03-16T19:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6ae5d925", "title": "Which programming languages pay the most? I made my own salary charts", "url": "https://stribny.name/posts/salaries-by-language/", "published_at": "2021-03-15T18:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6b746cae", "title": "How to install Python development versions on Fedora", "url": "https://stribny.name/posts/install-python-dev/", "published_at": "2021-03-07T18:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6c44f2f9", "title": "How to automatically set up a development machine with Ansible", "url": "https://stribny.name/posts/ansible-dev/", "published_at": "2021-02-05T21:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6d131761", "title": "Provisioning machines locally with Ansible and Vagrant", "url": "https://stribny.name/posts/provisioning-ansible-vagrant/", "published_at": "2021-01-31T18:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6dee6861", "title": "Finding Remote Work with Python and AI", "url": "https://stribny.name/posts/python-job-search/", "published_at": "2021-01-17T18:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6ea50387", "title": "Testing Python Applications with Pytest", "url": "https://stribny.name/posts/pytest/", "published_at": "2021-01-11T18:00:00+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b6f5b0940", "title": "Running FastAPI applications in production", "url": "https://stribny.name/posts/fastapi-production/", "published_at": "2020-10-23T16:06:27+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7030f565", "title": "Versioning large files in git with DVC", "url": "https://stribny.name/posts/versioning-large-files-in-git-with-dvc/", "published_at": "2020-10-21T10:06:27+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b70709238", "title": "How to extract plain text from an HTML page in Python", "url": "https://stribny.name/posts/how-to-extract-plain-text-from-an-html-page-in-python/", "published_at": "2020-10-16T19:49:14+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7090f40a", "title": "Artificial Intelligence in Python", "url": "https://stribny.name/posts/artificial-intelligence-in-python/", "published_at": "2020-10-03T23:27:26+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b70feecee", "title": "Scaling relational SQL databases", "url": "https://stribny.name/posts/scaling-relational-sql-databases/", "published_at": "2020-07-20T18:54:59+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b71151fe7", "title": "Real-time data streaming using FastAPI and WebSockets", "url": "https://stribny.name/posts/real-time-data-streaming-using-fastapi-and-websockets/", "published_at": "2020-07-12T20:17:43+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b71f48a7f", "title": "Creating website screenshots with Python and pyppeteer", "url": "https://stribny.name/posts/creating-website-screenshots-with-python-and-pyppeteer/", "published_at": "2020-07-01T19:38:26+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b72dee10f", "title": "Get some beautiful programming fonts for your editor and terminal in Fedora", "url": "https://stribny.name/posts/get-some-beautiful-programming-fonts-for-your-editor-and-terminal-in-fedora/", "published_at": "2020-04-27T17:16:40+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b73c71f9f", "title": "Building command line interfaces in Python", "url": "https://stribny.name/posts/building-command-line-interfaces-in-python/", "published_at": "2020-01-30T16:35:28+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b73e8c1f8", "title": "Deployment with Fabric", "url": "https://stribny.name/posts/deployment-with-fabric/", "published_at": "2020-01-16T18:45:47+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b746a09a8", "title": "Digital nomading in Prague, Czech republic (like a local)", "url": "https://stribny.name/posts/digital-nomading-in-prague/", "published_at": "2020-01-05T15:10:46+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b74a1f6a1", "title": "Recording terminal sessions with asciinema", "url": "https://stribny.name/posts/recording-terminal-sessions-with-asciinema/", "published_at": "2019-12-14T15:51:17+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7514c0ee", "title": "Using Docker to provision databases for development and testing", "url": "https://stribny.name/posts/using-docker-to-provision-databases-for-development-and-testing/", "published_at": "2019-09-12T18:42:28+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b75a10b8f", "title": "Interactive Computing with Jupyter Notebooks", "url": "https://stribny.name/posts/interactive-computing-with-jupyter-notebooks/", "published_at": "2019-08-24T16:16:53+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b76625513", "title": "Debugging Python programs", "url": "https://stribny.name/posts/debugging-python-programs/", "published_at": "2019-06-23T13:50:05+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b76c3c5ec", "title": "Measuring Python code complexity with wily", "url": "https://stribny.name/posts/measuring-python-code-complexity-with-wily/", "published_at": "2019-05-22T15:28:28+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b77a73a08", "title": "One year with Vue.js", "url": "https://stribny.name/posts/one-year-with-vue-js/", "published_at": "2019-01-30T15:39:18+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b785e6e22", "title": "Digital nomading in October in Thessaloniki, Greece", "url": "https://stribny.name/posts/digital-nomading-in-october-in-thessaloniki-greece/", "published_at": "2018-11-08T16:33:44+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7884a332", "title": "Writing test cases with given, when and then", "url": "https://stribny.name/posts/writing-test-cases-with-given-when-and-then/", "published_at": "2018-11-02T18:32:23+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b78f698aa", "title": "Convert Markdown text to HTML and to plaintext in JavaScript", "url": "https://stribny.name/posts/convert-markdown-text-to-html-and-to-plaintext-in-javascript/", "published_at": "2018-10-26T19:34:37+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b79b81517", "title": "How to reference hidden elements in Vue.js 2", "url": "https://stribny.name/posts/how-to-reference-hidden-elements-in-vue-js/", "published_at": "2018-09-22T13:58:25+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b79d89d59", "title": "Using validate.js instead of Vuelidate in Vue.js applications", "url": "https://stribny.name/posts/using-validate-js-instead-of-vuelidate-in-vue-js-applications/", "published_at": "2018-08-26T16:53:46+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7ad0b2a3", "title": "Why Scrum doesn't work?", "url": "https://stribny.name/posts/why-scrum-doesnt-work/", "published_at": "2018-05-05T09:47:41+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7b77c2da", "title": "How to communicate with Angular components outside of Angular", "url": "https://stribny.name/posts/how-to-communicate-with-angular-components-outside-angular/", "published_at": "2018-01-22T21:18:53+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7c10a959", "title": "The role of a Quality Engineer", "url": "https://stribny.name/posts/the-role-of-a-quality-engineer/", "published_at": "2015-10-07T21:03:39+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7d028ed2", "title": "Authentication Quickstart with Express, Passport and Sequelize", "url": "https://stribny.name/posts/authentication-quickstart-with-express-passport-and-sequelize/", "published_at": "2015-09-29T18:39:57+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7d6c35e2", "title": "How to find a commit that introduced a specific change with Git Bisect", "url": "https://stribny.name/posts/how-to-find-a-commit-that-introduced-a-specific-change-with-git-bisect/", "published_at": "2015-05-30T12:27:16+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7e46f4d4", "title": "Putting Test Case Specification directly in code", "url": "https://stribny.name/posts/putting-all-test-case-specification-directly-in-code/", "published_at": "2015-05-26T15:16:21+00:00" }, { "id": "01a087e7-41cd-7321-949c-0a7b7eca2bfc", "title": "Finding duplicate JavaScript code", "url": "https://stribny.name/posts/finding-duplicate-javascript-code/", "published_at": "2015-05-05T21:53:44+00:00" } ] posts Claim your blog
Back to petr25102018
Blog · corpus.blog/blogs/stribny.name/posts

petr25102018

stribny.name

2023

2022

2021

2020

2019

2018

2015