{"id":15976,"date":"2026-08-31T15:46:35","date_gmt":"2026-08-31T13:46:35","guid":{"rendered":"https:\/\/monodes.com\/predaelli\/?p=15976"},"modified":"2026-08-31T15:46:37","modified_gmt":"2026-08-31T13:46:37","slug":"a-good-usage-of-vibe-coding","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2026\/08\/31\/a-good-usage-of-vibe-coding\/","title":{"rendered":"A good usage of vibe-coding"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Here an application where vibe-coding is used positively:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/tizbac\/firmadigitaleopenng\">https:\/\/github.com\/tizbac\/firmadigitaleopenng<\/a> &#8211; Opensource Italian Digital Signing for Linux<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Let me be clear with that, this project is mostly vibe-coded, from original python version i made, if you are not ok with that, feel free to use the crashy ones that barely run on linux or require ubuntu 8.04 \ud83d\ude42 Resulting signatures have been verified against Infocert verification tool, and they fully pass. Beware for some smart card readers you may need not just opensc but also cccid drivers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C++\/Qt6 rewrite of the Python <code class=\"\" data-line=\"\">FirmaDigitaleOpen<\/code> tool. It signs PDFs with <strong>PAdES-BES<\/strong> and produces\/verifies <strong>P7M<\/strong> (CMS detached) signatures, using a PKCS#11 security token (Bit4id) for the private key. It also verifies <strong>TSL<\/strong> (Trusted Lists) status lists.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The cryptographic core (<code class=\"\" data-line=\"\">fdo_core<\/code>) has no Qt dependency and is fully unit tested; the Qt GUI sits on top of it.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Now we &#8220;just&#8221; have to add all the testing. Having used design by contract would have helped here<\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">Here an application where vibe-coding is used positively: https:\/\/github.com\/tizbac\/firmadigitaleopenng &#8211; Opensource Italian Digital Signing for Linux Let me be clear with that, this project is mostly vibe-coded, from original python version i made, if you are not ok with that, feel free to use the crashy ones that barely run on linux or require ubuntu&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2026\/08\/31\/a-good-usage-of-vibe-coding\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[52,14],"tags":[],"class_list":["post-15976","post","type-post","status-publish","format-standard","hentry","category-software","category-software-libero"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-49G","jetpack-related-posts":[{"id":14807,"url":"https:\/\/monodes.com\/predaelli\/2026\/01\/23\/the-xonsh-shell-python-powered-shell\/","url_meta":{"origin":15976,"position":0},"title":"The Xonsh Shell \u2014 Python-powered shell","author":"Paolo Redaelli","date":"2026-01-23","format":false,"excerpt":"The Xonsh Shell \u2014 Python-powered shell. Python shell. Python in the shell. Shell in Python. Shell and Python. Python and shell.Xonsh (sounds like \"consh\") is a modern, full-featured and cross-platform python shell. The language is a superset of Python 3.6+ with additional shell primitives that you are used to from\u2026","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"https:\/\/monodes.com\/predaelli\/category\/python\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2026\/01\/xonsh.webp?fit=257%2C399&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1456,"url":"https:\/\/monodes.com\/predaelli\/2016\/04\/28\/sfepy-simple-finite-elements-in-python\/","url_meta":{"origin":15976,"position":1},"title":"SfePy: Simple Finite Elements in Python","author":"Paolo Redaelli","date":"2016-04-28","format":"link","excerpt":"That's pretty impressive \u00abSfePy: Simple Finite Elements in Python \u2014 Gallery of Examples\u00bb SfePy: Simple Finite Elements in Python SfePy is a software for solving systems of coupled partial differential equations (PDEs) by the finite element method in 1D, 2D and 3D. It can be viewed both as black-box PDE\u2026","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"https:\/\/monodes.com\/predaelli\/category\/python\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4792,"url":"https:\/\/monodes.com\/predaelli\/2018\/10\/28\/telosys-code-generator-for-java-javascript-python-nodejs-php-c-etc\/","url_meta":{"origin":15976,"position":2},"title":"Telosys code generator for Java, JavaScript, Python, NodeJS, PHP, C#, etc","author":"Paolo Redaelli","date":"2018-10-28","format":false,"excerpt":"Telosys is a free code generator usable with different languages or frameworks : Java, JavaScript, Python, NodeJS, PHP, GoLang, C#, Angular, VueJS, etc Sorgente: Telosys code generator for Java, JavaScript, Python, NodeJS, PHP, C#, etc","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":13563,"url":"https:\/\/monodes.com\/predaelli\/2025\/06\/15\/what-can-we-learn\/","url_meta":{"origin":15976,"position":3},"title":"What can we learn?","author":"Paolo Redaelli","date":"2025-06-15","format":false,"excerpt":"I just read \"Python Creator Guido van Rossum Asks: Is 'Worse is Better' Still True for Programming Languages?\" and I wonder what can we Eiffellers learn from it. Python Creator Guido van Rossum Asks: Is 'Worse is Better' Still True for Programming Languages? In 1989 a computer scientist argued that\u2026","rel":"","context":"In &quot;Liberty Eiffel&quot;","block_context":{"text":"Liberty Eiffel","link":"https:\/\/monodes.com\/predaelli\/category\/eiffel\/liberty-eiffel\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4960,"url":"https:\/\/monodes.com\/predaelli\/2018\/11\/22\/object-relational-mappers-orms-full-stack-python\/","url_meta":{"origin":15976,"position":4},"title":"Object-relational Mappers (ORMs) &#8211; Full Stack Python","author":"Paolo Redaelli","date":"2018-11-22","format":false,"excerpt":"Object-relational Mappers (ORMs) - Full Stack Python Object-relational mappers (ORMs) bridge relational databases and data represented in Python code. Great post on Full Stack Python about Object-relational Mappers (ORMs)! When I started coding most of them didn't exist. In fact an unfinished project of mine started hand-coding an object-relational mapping.\u2026","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"https:\/\/monodes.com\/predaelli\/category\/python\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9031,"url":"https:\/\/monodes.com\/predaelli\/2021\/12\/30\/packaging-pyqt5-apps-with-fbs-distribute-cross-platform-gui-applications-with-the-fman-build-system\/","url_meta":{"origin":15976,"position":5},"title":"Packaging PyQt5 apps with fbs \u2014 Distribute cross-platform GUI applications with the fman Build System","author":"Paolo Redaelli","date":"2021-12-30","format":"link","excerpt":"Packaging PyQt5 apps with fbs \u2014 Distribute cross-platform GUI applications with the fman Build System Packaging PyQt5 apps with fbs Distribute cross-platform GUI applications with the fman Build System by Martin Fitzpatrick Read time 13:29 Packaging and distribution Packaging and distribution course Packaging PyQt5 applications for Windows, with PyInstaller Packaging\u2026","rel":"","context":"In &quot;Documentations&quot;","block_context":{"text":"Documentations","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/15976","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=15976"}],"version-history":[{"count":1,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/15976\/revisions"}],"predecessor-version":[{"id":15978,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/15976\/revisions\/15978"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=15976"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=15976"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=15976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}