56,966 blogs · [ { "id": "01a087c9-fbbb-731c-a216-2a17d3753001", "title": "Using AI to modernize a Java project", "url": "https://programmingbrain.com/2025/07/how-i-used-ai-coding-agents-to-modernize-a-java-library.html", "published_at": "2026-07-20T08:05:00+00:00" }, { "id": "01a087c9-fbc3-72ba-a1aa-891f004a95a3", "title": "The \"bus factor\" risk in MongoDB, MariaDB, Redis, MySQL, PostgreSQL, and SQLite", "url": "https://programmingbrain.com/2025/03/bus-factor-risk-in-open-source-databases.html", "published_at": "2026-03-03T14:01:00+00:00" }, { "id": "01a087c9-fbc3-72ba-a1aa-891f01000df9", "title": "MariaDB doesn't depend on MySQL", "url": "https://programmingbrain.com/2025/01/mariadb-does-not-depend-on-mysql.html", "published_at": "2026-01-21T17:07:00+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b349edf51a", "title": "Keyword vs. semantic search with AI", "url": "https://programmingbrain.com/2025/05/keyword-vs-semantic-search-with-ai.html", "published_at": "2025-10-28T15:42:01+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34a8c4633", "title": "What can go wrong when using database transactions?", "url": "https://programmingbrain.com/2025/05/what-can-go-wrong-with-database-transactions.html", "published_at": "2025-09-06T12:41:00+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34b533745", "title": "What is a Vector in AI and RAG?", "url": "https://programmingbrain.com/2025/05/what-is-a-vector-in-AI-and-rag-apps.html", "published_at": "2025-05-28T07:38:01+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34ba94f30", "title": "Building generative AI apps locally", "url": "https://programmingbrain.com/2025/02/building-generative-ai-apps-locally.html", "published_at": "2025-02-12T00:02:07+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34c733b8c", "title": "Supercharge your app: MariaDB in-memory tables as a cache", "url": "https://programmingbrain.com/2024/08/supercharge-your-app-mariadb-in-memory-tables-as-a-cache.html", "published_at": "2024-08-01T14:44:11+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34d239b24", "title": "Packages for store routines in MariaDB 11.4", "url": "https://programmingbrain.com/2024/04/packages-for-store-routines-in-mariadb-11-4.html", "published_at": "2024-06-28T16:59:01+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34d952657", "title": "Better CRUDs with REPLACE INTO in MariaDB and MySQL", "url": "https://programmingbrain.com/2024/04/better-cruds-with-replace-into-in-mariadb-and-mysql.html", "published_at": "2024-05-17T10:22:02+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34e2c6c12", "title": "Using temporary tables in MariaDB", "url": "https://programmingbrain.com/2024/04/using-temporary-tables-in-mariadb.html", "published_at": "2024-05-02T06:21:01+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34ef6e4e1", "title": "High availability and resiliency in databases with MaxScale", "url": "https://programmingbrain.com/2024/03/high-availability-and-resiliency-with-maxscale.html", "published_at": "2024-03-26T15:41:00+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34f43d1df", "title": "Why do we need databases and SQL?", "url": "https://programmingbrain.com/2024/03/why-do-we-need-databases-and-sql.html", "published_at": "2024-03-06T16:02:00+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b34fa2bd7e", "title": "Fast analytics with MariaDB ColumnStore", "url": "https://programmingbrain.com/2024/01/fast-analytics-with-mariadb-columnstore.html", "published_at": "2024-01-17T20:49:00+00:00" }, { "id": "01a087c9-fbc4-73bd-abcd-53b35010b112", "title": "New book (coming) - MariaDB for Developers", "url": "https://programmingbrain.com/2023/12/new-book-about-mariadb-coming-soon.html", "published_at": "2023-12-31T12:06:00+00:00" }, { "id": "01a087c9-fbc5-7208-83e6-50c70d0f7841", "title": "Programming Brain now available in Spanish", "url": "https://programmingbrain.com/2023/12/programming-brain-now-available-in-spanish.html", "published_at": "2023-12-14T19:00:18+00:00" }, { "id": "01a087c9-fbc5-7208-83e6-50c70d428d4d", "title": "Second website migration", "url": "https://programmingbrain.com/2023/12/second-website-migration.html", "published_at": "2023-12-14T18:00:18+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e9442e4a17f", "title": "About", "url": "https://programmingbrain.com/about/", "published_at": "2023-12-04T23:36:52+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e9443b4a987", "title": "Contact", "url": "https://programmingbrain.com/contact/", "published_at": "2023-12-04T23:36:52+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e9443d248a6", "title": "A full-fledged development environment with Docker", "url": "https://programmingbrain.com/2023/12/a-full-fledged-development-environment.html", "published_at": "2023-12-01T10:57:00+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e9443ecefef", "title": "A new chapter at MariaDB: Joining the Products Team", "url": "https://programmingbrain.com/2023/09/a-new-chapter-at-mariadb-joining.html", "published_at": "2023-09-28T13:46:00+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e9444bfdc4d", "title": "What is MariaDB?", "url": "https://programmingbrain.com/2023/09/what-is-mariadb.html", "published_at": "2023-09-21T21:27:00+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e9445334abb", "title": "My experience in Latin America presenting the evolution of MariaDB", "url": "https://programmingbrain.com/2023/04/my-experience-in-latin-america.html", "published_at": "2023-04-26T08:34:00+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e9445343f17", "title": "My experience at Cloud Expo Europe - London 2023", "url": "https://programmingbrain.com/2023/03/my-experience-at-cloud-expo-europe.html", "published_at": "2023-03-13T13:41:00+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e94462d8b48", "title": "Why MariaDB instead of MySQL, PostgreSQL, or MongoDB?", "url": "https://programmingbrain.com/2023/02/why-mariadb-instead-of-mysql-postgresql.html", "published_at": "2023-02-25T15:16:00+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e9446495792", "title": "ChatGPT as a MariaDB database", "url": "https://programmingbrain.com/2023/01/chatgpt-as-mariadb-database.html", "published_at": "2023-01-12T15:04:00+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e944739a106", "title": "What is a database proxy?", "url": "https://programmingbrain.com/2022/11/what-is-database-proxy.html", "published_at": "2022-11-22T15:41:00+00:00" }, { "id": "01a087c9-fbca-715a-afc3-3e944782dce6", "title": "MariaDB replication demo", "url": "https://programmingbrain.com/2022/10/mariadb-replication-demo.html", "published_at": "2022-10-03T15:15:00+00:00" }, { "id": "01a087c9-fbcb-715a-9102-c9e65c027fe4", "title": "Building a Kubernetes cluster on Raspberry Pi (with automation)", "url": "https://programmingbrain.com/2022/07/building-kubernetes-cluster-on.html", "published_at": "2022-07-19T12:19:00+00:00" }, { "id": "01a087c9-fbcb-715a-9102-c9e65cebb017", "title": "How to start a web server using Java", "url": "https://programmingbrain.com/2022/03/how-to-start-web-server-using-java.html", "published_at": "2022-03-23T11:48:00+00:00" }, { "id": "01a087c9-fbcb-715a-9102-c9e65de3b25f", "title": "What is JPA?", "url": "https://programmingbrain.com/2022/02/what-is-jpa.html", "published_at": "2022-02-07T19:29:00+00:00" }, { "id": "01a087c9-fbcb-715a-9102-c9e65e237d51", "title": "What is a database connection pool?", "url": "https://programmingbrain.com/2022/01/what-is-database-connection-pool.html", "published_at": "2022-01-14T11:49:00+00:00" }, { "id": "01a087c9-fbcb-715a-9102-c9e65ec056a8", "title": "How to execute SQL queries from Java (and prevent SQL injections)", "url": "https://programmingbrain.com/2022/01/how-to-execute-sql-queries-from-java.html", "published_at": "2022-01-12T11:50:00+00:00" }, { "id": "01a087c9-fbcd-7295-a4b6-44d37cadf48c", "title": "How to open and close JDBC connections", "url": "https://programmingbrain.com/2022/01/how-to-open-and-close-jdbc-connections.html", "published_at": "2022-01-12T10:45:00+00:00" }, { "id": "01a087c9-fbce-717d-abb4-3b4a747241c0", "title": "New YouTube channel on programming (mostly Java)", "url": "https://programmingbrain.com/2022/01/new-youtube-channel-on-programming.html", "published_at": "2022-01-04T11:53:00+00:00" }, { "id": "01a087c9-fbce-717d-abb4-3b4a74c94e8d", "title": "I'm joining MariaDB!", "url": "https://programmingbrain.com/2021/11/im-joining-mariadb.html", "published_at": "2021-11-27T12:48:00+00:00" }, { "id": "01a087c9-fbce-717d-abb4-3b4a75b1282d", "title": "Testing MariaDB ColumnStore performance", "url": "https://programmingbrain.com/2021/09/testing-mariadb-columnstore-performance.html", "published_at": "2021-09-28T16:01:00+00:00" }, { "id": "01a087c9-fbce-717d-abb4-3b4a762b5220", "title": "Using Vaadin web components in HTML documents without frameworks", "url": "https://programmingbrain.com/2021/09/using-vaadin-web-components-in-html.html", "published_at": "2021-09-08T19:34:00+00:00" }, { "id": "01a087c9-fbce-717d-abb4-3b4a764931e1", "title": "New book - Practical Vaadin: Developing Web Applications in Java", "url": "https://programmingbrain.com/2021/08/new-book-practical-vaadin-developing.html", "published_at": "2021-08-13T08:35:00+00:00" }, { "id": "01a087c9-fbce-717d-abb4-3b4a76e3bcbb", "title": "Designing an open-source community award", "url": "https://programmingbrain.com/2021/07/designing-open-source-community-award.html", "published_at": "2021-07-02T15:34:00+00:00" }, { "id": "01a087c9-fbce-717d-abb4-3b4a77b460c0", "title": "How to participate in and contribute to open source projects", "url": "https://programmingbrain.com/2021/04/how-to-participate-in-and-contribute-to.html", "published_at": "2021-04-30T08:50:00+00:00" }, { "id": "01a087c9-fbd0-7314-b0bb-19cf436b52bf", "title": "Blog rebrand", "url": "https://programmingbrain.com/2021/04/blog-rebrand.html", "published_at": "2021-04-18T19:54:00+00:00" }, { "id": "01a087c9-fbd0-7314-b0bb-19cf439a7f21", "title": "How to start a career in coding", "url": "https://programmingbrain.com/2021/04/how-to-start-career-in-coding.html", "published_at": "2021-04-15T23:40:00+00:00" }, { "id": "01a087c9-fbd0-7314-b0bb-19cf43bd486a", "title": "My experience talking at JConf Colombia", "url": "https://programmingbrain.com/2019/07/my-experience-talking-at-jconf-colombia.html", "published_at": "2019-07-23T17:54:00+00:00" }, { "id": "01a087c9-fbd0-7314-b0bb-19cf43e141ce", "title": "Learning microservices with a practical example", "url": "https://programmingbrain.com/2019/03/learning-microservices-with-practical.html", "published_at": "2019-03-06T23:07:00+00:00" }, { "id": "01a087c9-fbd0-7314-b0bb-19cf43ff9843", "title": "How to call a Java method from a JavaScript function in the browser", "url": "https://programmingbrain.com/2019/01/how-to-call-java-method-from-javascript.html", "published_at": "2019-01-24T15:16:00+00:00" }, { "id": "01a087c9-fbd0-7314-b0bb-19cf449ddd89", "title": "Infinite lazy loading", "url": "https://programmingbrain.com/2019/01/infinite-lazy-loading.html", "published_at": "2019-01-18T19:13:00+00:00" }, { "id": "01a087c9-fbd1-7185-9a60-6101f52d3ba8", "title": "Hello, World in Vaadin 10+", "url": "https://programmingbrain.com/2019/01/hello-world-in-vaadin-10.html", "published_at": "2019-01-02T02:00:00+00:00" }, { "id": "01a087c9-fbd1-7185-9a60-6101f5b361bc", "title": "Data-Centric Applications with Vaadin 10?", "url": "https://programmingbrain.com/2018/03/data-centric-applications-with-vaadin-10.html", "published_at": "2018-07-03T12:33:00+00:00" }, { "id": "01a087c9-fbd1-7185-9a60-6101f64b5899", "title": "Responsive embedded YouTube video or playlist online maker", "url": "https://programmingbrain.com/2018/05/responsive-embedded-youtube-video-or.html", "published_at": "2018-05-05T12:23:00+00:00" }, { "id": "01a087c9-fbd4-705a-997c-806a9ed4a55f", "title": "What's so cool about Vaadin Flow?", "url": "https://programmingbrain.com/2018/05/whats-so-cool-about-vaadin-flow.html", "published_at": "2018-05-04T12:15:00+00:00" }, { "id": "01a087c9-fbd4-705a-997c-806a9f114d53", "title": "New book about Vaadin 8: Data-Centric Applications with Vaadin 8", "url": "https://programmingbrain.com/2018/04/new-book-about-vaadin-8-data-centric.html", "published_at": "2018-04-23T12:11:00+00:00" }, { "id": "01a087c9-fbd4-705a-997c-806a9f986c6d", "title": "Microservices & Vaadin", "url": "https://programmingbrain.com/2018/03/microservices-vaadin.html", "published_at": "2018-03-28T12:06:00+00:00" }, { "id": "01a087c9-fbd5-7219-ac5d-309804f2d1da", "title": "New book about Vaadin Framework 8 coming out", "url": "https://programmingbrain.com/2018/03/new-book-about-vaadin-framework-8.html", "published_at": "2018-03-27T12:02:00+00:00" }, { "id": "01a087c9-fbd5-7219-ac5d-3098052ba381", "title": "Enterprise-app for Vaadin", "url": "https://programmingbrain.com/2016/12/enterprise-app-for-vaadin.html", "published_at": "2016-12-02T12:49:00+00:00" }, { "id": "01a087c9-fbd8-7074-832e-13d7d00a33c3", "title": "Vaadin video tutorials", "url": "https://programmingbrain.com/2016/06/vaadin-video-tutorials.html", "published_at": "2016-06-08T11:23:00+00:00" }, { "id": "01a087c9-fbd8-7074-832e-13d7d03e393a", "title": "Copy & paste based development", "url": "https://programmingbrain.com/2016/04/copy-paste-based-development.html", "published_at": "2016-04-21T11:27:00+00:00" }, { "id": "01a087c9-fbd8-7074-832e-13d7d07e9aba", "title": "Semantic coupling", "url": "https://programmingbrain.com/2019/01/semantic-coupling.html", "published_at": "2015-01-16T12:37:00+00:00" }, { "id": "01a087c9-fbd8-7074-832e-13d7d11cae38", "title": "Talking progress indicators", "url": "https://programmingbrain.com/2014/06/talking-progress-indicators.html", "published_at": "2014-06-13T11:40:00+00:00" }, { "id": "01a087c9-fbd8-7074-832e-13d7d1bf9504", "title": "Comments: A deodorant to mask code smells", "url": "https://programmingbrain.com/2013/12/comments-deodorant-to-mask-code-smells.html", "published_at": "2013-12-04T12:47:00+00:00" }, { "id": "01a087c9-fbd9-7288-ba70-2876a4974fa2", "title": "Book Give-away: Win a free copy of the book \"Vaadin 7 UI Design By Example\" - Just by commenting!", "url": "https://programmingbrain.com/2019/01/book-give-away-hold-chance-to-win-free.html", "published_at": "2013-09-19T11:19:00+00:00" }, { "id": "01a087c9-fbd9-7288-ba70-2876a57efb07", "title": "Lightning fast commenting (in and out)", "url": "https://programmingbrain.com/2013/05/lightning-fast-commenting-in-and-out.html", "published_at": "2013-05-21T11:04:00+00:00" }, { "id": "01a087c9-fbdb-7385-94a4-c58e261c96aa", "title": "Empty lines and semantics in source code", "url": "https://programmingbrain.com/2017/03/empty-lines-and-semantics-in-source-code.html", "published_at": "2013-04-29T13:11:00+00:00" }, { "id": "01a087c9-fbdb-7385-94a4-c58e26e7abba", "title": "Enterprise App now available with Maven", "url": "https://programmingbrain.com/2017/03/enterprise-app-now-available-with-maven.html", "published_at": "2013-02-22T14:05:00+00:00" }, { "id": "01a087c9-fbdc-7394-8381-98c285de9c4a", "title": "A strategy to manage large SQL tables", "url": "https://programmingbrain.com/2017/03/a-strategy-to-manage-large-sql-tables.html", "published_at": "2013-02-21T13:49:00+00:00" }, { "id": "01a087c9-fbde-72ff-a85c-f4fdffd2deec", "title": "Pagination: An old web 1.0 solution", "url": "https://programmingbrain.com/2017/03/pagination-old-web-10-solution.html", "published_at": "2013-01-18T13:46:00+00:00" }, { "id": "01a087c9-fbde-72ff-a85c-f4fdffebec26", "title": "Hello GitHub", "url": "https://programmingbrain.com/2017/03/hello-github.html", "published_at": "2013-01-15T13:43:00+00:00" }, { "id": "01a087c9-fbde-72ff-a85c-f4fe00e7294f", "title": "My brand new web site", "url": "https://programmingbrain.com/2017/03/my-brand-new-web-site.html", "published_at": "2013-01-15T13:38:00+00:00" } ] posts Claim your blog
Back to programmingbrain.com
Blog · corpus.blog/blogs/programmingbrain.com/posts

programmingbrain.com

programmingbrain.com

2026

2025

2024

2023

2022

2021

2019

2018

2016

2015

2014

2013