41554 blogs · [ { "id": "01a087e9-5df4-72de-93c1-d9bd352f2add", "title": "Home", "url": "https://www.tamizhvendan.in/", "published_at": "2025-10-29T11:49:45+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3560094d", "title": "AI-First Mindset - Innovation in the Wrong Direction", "url": "https://www.tamizhvendan.in/blog/ai-first-mindset-wrong-direction/", "published_at": "2025-10-17T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd362b0b45", "title": "Retiring from full-time employment", "url": "https://www.tamizhvendan.in/blog/retiring-from-fte/", "published_at": "2025-06-13T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd36a05b87", "title": "Developer Productivity - Part 1", "url": "https://www.tamizhvendan.in/blog/developer-productivity-part-1/", "published_at": "2024-12-16T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd377df6f5", "title": "Announcing a book series - How I Solve It Using Clojure", "url": "https://www.tamizhvendan.in/blog/announcing-a-book-series-how-i-solve-it-using-clojure/", "published_at": "2024-10-29T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3852bc42", "title": "Don't leave the dead code behind", "url": "https://www.tamizhvendan.in/blog/donot-leave-dead-code-behind/", "published_at": "2024-03-08T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd38d1a763", "title": "Are you truly agile?", "url": "https://www.tamizhvendan.in/blog/are-you-truly-agile/", "published_at": "2024-02-03T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3928b368", "title": "Well-rounded Product Engineer", "url": "https://www.tamizhvendan.in/blog/well-rounded-product-engineer/", "published_at": "2024-01-24T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd392e5f5b", "title": "Dark Side Of Quantitative Goals", "url": "https://www.tamizhvendan.in/blog/dark-side-of-quantitative-goals/", "published_at": "2024-01-08T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd39621057", "title": "Happy New You", "url": "https://www.tamizhvendan.in/blog/happy-new-you/", "published_at": "2023-12-31T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3a04a435", "title": "Popularity vs. Practicality: The Vicious Circle of Popular Tech Choices", "url": "https://www.tamizhvendan.in/blog/popularity-vs-practicality-vicious-circle-popular-tech-choices/", "published_at": "2023-11-30T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3ad58f63", "title": "Why I am not using AI tools for Coding", "url": "https://www.tamizhvendan.in/blog/why-i-do-not-use-ai-tools-for-coding/", "published_at": "2023-11-09T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3b51b40d", "title": "From Order-Taker to Stakeholder: The Importance of Asking the Right Questions", "url": "https://www.tamizhvendan.in/blog/from-order-taker-to-stakeholder-the-importance-of-asking-the-right-questions/", "published_at": "2023-10-29T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3c473c3e", "title": "AI-Generated Apps: The Missing Piece in Maintenance", "url": "https://www.tamizhvendan.in/blog/ai-generated-apps-the-missing-piece-in-maintenance/", "published_at": "2023-10-25T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3c8f7f36", "title": "From Top to Bottom: Reimagining Performance Appraisals", "url": "https://www.tamizhvendan.in/blog/top-to-bottom-reimagining-performance-appraisals/", "published_at": "2023-09-25T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3c99deeb", "title": "The Untold Truths About MVP", "url": "https://www.tamizhvendan.in/blog/untold-truths-about-mvp/", "published_at": "2023-09-22T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3ca21948", "title": "Rewiring your hiring process - Part 1", "url": "https://www.tamizhvendan.in/blog/rewiring-your-hiring-process-part-1/", "published_at": "2023-09-17T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3d1f60c6", "title": "Beyond the Buzz: The Unseen Challenges of Adopting Big Tech's Engineering Insights", "url": "https://www.tamizhvendan.in/blog/beyond-the-buzz-engineering-blog/", "published_at": "2023-09-12T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3df46273", "title": "The AI Buzz", "url": "https://www.tamizhvendan.in/blog/ai-buzz/", "published_at": "2023-08-24T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3e8616a1", "title": "Announcing HoneyEQL 1.0", "url": "https://www.tamizhvendan.in/blog/announcing-honeyeql-1.0/", "published_at": "2023-08-16T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd3f5c2f85", "title": "Creating Cron Jobs in Clojure", "url": "https://www.tamizhvendan.in/blog/marketplace-middleware/creating-cron-jobs-in-clojure/", "published_at": "2019-10-22T16:04:42+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd403b9ffa", "title": "Ranging Items In E-Commerce Marketplaces", "url": "https://www.tamizhvendan.in/blog/marketplace-middleware/ranging-items-in-marketplaces/", "published_at": "2019-10-18T15:28:27+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd40b6e84e", "title": "Processing Messages From IBM-MQ in Clojure", "url": "https://www.tamizhvendan.in/blog/marketplace-middleware/processing-messages-from-ibmmq-in-clojure/", "published_at": "2019-10-10T12:50:27+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4188dcc7", "title": "Using Slack as Log Appender", "url": "https://www.tamizhvendan.in/blog/marketplace-middleware/using-slack-as-log-appender/", "published_at": "2019-10-06T14:55:41+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd41eeb083", "title": "Storing Log Events in Postgres Using Toucan", "url": "https://www.tamizhvendan.in/blog/marketplace-middleware/storing-log-events-in-postgres-using-toucan/", "published_at": "2019-10-04T12:25:02+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd420455a2", "title": "Configuring Logging Using Timbre", "url": "https://www.tamizhvendan.in/blog/marketplace-middleware/configuring-logging-using-timbre/", "published_at": "2019-10-02T00:20:01+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd421b20dd", "title": "Configuring Database Connection Pooling, Migration and Reloaded Workflow", "url": "https://www.tamizhvendan.in/blog/marketplace-middleware/configuring-database-connection-pooling-migration-reloaded-workflow/", "published_at": "2019-08-06T16:29:03+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd42888834", "title": "Bootstrapping Clojure Project Using Mount And Aero", "url": "https://www.tamizhvendan.in/blog/marketplace-middleware/bootstrapping-clojure-project-using-mount-and-aero/", "published_at": "2019-07-26T10:09:03+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd43182418", "title": "Building an E-Commerce Marketplace Middleware in Clojure", "url": "https://www.tamizhvendan.in/blog/marketplace-middleware/intro/", "published_at": "2019-07-26T07:12:03+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd431ea63e", "title": "Model Binding in Suave and Saturn", "url": "https://www.tamizhvendan.in/blog/model-binding-in-suave-and-saturn/", "published_at": "2018-12-17T15:20:23+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd43e8aa78", "title": "RESTful CRUD APIs Using Compojure-API and Toucan (Part-2)", "url": "https://www.tamizhvendan.in/blog/restful-crud-apis-using-compojure-api-and-toucan-part-2/", "published_at": "2018-10-18T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd43f8c836", "title": "RESTful CRUD APIs Using Compojure-API and Toucan (Part-1)", "url": "https://www.tamizhvendan.in/blog/restful-crud-apis-using-compojure-api-and-toucan-part-1/", "published_at": "2018-10-12T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd449ab4fc", "title": "Using Clojure in Production", "url": "https://www.tamizhvendan.in/blog/clojure-in-production/", "published_at": "2018-09-26T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd450f2a71", "title": "Concurrent Programming in Fsharp Using Hopac - Part 7", "url": "https://www.tamizhvendan.in/blog/concurrent-programming-in-fsharp-using-hopac-part-7/", "published_at": "2018-06-12T00:00:26+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd45eedc83", "title": "Concurrent Programming in Fsharp Using Hopac - Part 6", "url": "https://www.tamizhvendan.in/blog/concurrent-programming-in-fsharp-using-hopac-part-6/", "published_at": "2018-04-25T15:33:26+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd46de7534", "title": "Concurrent Programming in fsharp Using Hopac - Part 5", "url": "https://www.tamizhvendan.in/blog/concurrent-programming-in-fsharp-using-hopac-part-5/", "published_at": "2018-03-20T11:43:48+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd47d36183", "title": "Concurrent Programming in fsharp using Hopac - Part 4", "url": "https://www.tamizhvendan.in/blog/concurrent-programming-in-fsharp-using-hopac-part-4/", "published_at": "2018-03-16T03:16:01+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd48032f33", "title": "Implementing API Gateway Pattern in fsharp using Hopac", "url": "https://www.tamizhvendan.in/blog/concurrent-programming-in-fsharp-using-hopac-part-3/", "published_at": "2018-03-05T13:46:02+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd48b7d3e5", "title": "Concurrent Programming in Fsharp Using Hopac (Part-2)", "url": "https://www.tamizhvendan.in/blog/concurrent-programming-in-fsharp-using-hopac-part-2/", "published_at": "2018-02-28T14:17:02+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd48c7cb34", "title": "Concurrent Programming in fsharp using Hopac (Part-I)", "url": "https://www.tamizhvendan.in/blog/concurrent-programming-in-fsharp-using-hopac-part-1/", "published_at": "2018-02-26T13:38:32+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd49015e65", "title": "Adding Meaning to Primitive Types in fsharp", "url": "https://www.tamizhvendan.in/blog/adding-meaning-to-primitive-types-in-fsharp/", "published_at": "2018-02-12T13:53:36+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd495bbe59", "title": "Introducing FsConfig", "url": "https://www.tamizhvendan.in/blog/introducing-fsconfig/", "published_at": "2018-02-06T14:18:26+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4a164955", "title": "Generic Programming Made Easy", "url": "https://www.tamizhvendan.in/blog/generic-programming-made-easy/", "published_at": "2017-12-15T14:09:26+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4a47aa9d", "title": "Managing Data in Golang Using Gorm - Part 2", "url": "https://www.tamizhvendan.in/blog/managing-data-in-golang-using-gorm-part-2/", "published_at": "2017-07-26T01:39:17+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4b46e5cc", "title": "Managing Data in golang using gorm - Part 1", "url": "https://www.tamizhvendan.in/blog/managing-data-in-golang-using-gorm-part-1/", "published_at": "2017-07-23T02:25:59+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4bbe4fee", "title": "Leveraging interfaces in golang - Part 2", "url": "https://www.tamizhvendan.in/blog/leveraging-interfaces-in-golang-part-2/", "published_at": "2017-07-03T14:14:33+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4bfae8e3", "title": "Leveraging interfaces in golang - Part 1", "url": "https://www.tamizhvendan.in/blog/leveraging-interfaces-in-golang-part-1/", "published_at": "2017-06-24T08:08:16+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4c147fac", "title": "Using Golang in Production - My Experiences", "url": "https://www.tamizhvendan.in/blog/using-golang-in-production-my-experiences/", "published_at": "2017-05-01T02:20:32+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4c67bbe0", "title": "Implementing Two-Factor Authentication in Suave", "url": "https://www.tamizhvendan.in/blog/implementing-two-factor-authentication-in-suave/", "published_at": "2016-12-26T13:04:27+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4d0ce6eb", "title": "Leveraging Property Based Testing", "url": "https://www.tamizhvendan.in/blog/leveraging-property-based-testing/", "published_at": "2016-09-30T03:36:15+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4dea9a24", "title": "Scale Up Azure Functions in F# Using Suave", "url": "https://www.tamizhvendan.in/blog/scale-up-azure-functions-in-f-number-using-suave/", "published_at": "2016-09-19T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4e7f9090", "title": "Expressing Business Logic With F#'s Partial Active Patterns", "url": "https://www.tamizhvendan.in/blog/expressing-business-logic-with-f-number-s-partial-active-patterns/", "published_at": "2016-04-28T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4eb45836", "title": "Keep It Simple", "url": "https://www.tamizhvendan.in/blog/keep-it-simple/", "published_at": "2016-02-01T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd4f8479a1", "title": "Implementing API Gateway in F# Using Rx and Suave", "url": "https://www.tamizhvendan.in/blog/implementing-api-gateway-in-f-number-using-rx-and-suave/", "published_at": "2015-12-29T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd5043c674", "title": "Securing APIs in Suave Using JSON Web Token", "url": "https://www.tamizhvendan.in/blog/securing-apis-in-suave-using-json-web-token/", "published_at": "2015-07-15T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd504ecb2a", "title": "Building REST Api in F# Using Suave", "url": "https://www.tamizhvendan.in/blog/building-rest-api-in-fsharp-using-suave/", "published_at": "2015-06-11T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd5112167b", "title": "Grouping Data Into Buckets Using F#", "url": "https://www.tamizhvendan.in/blog/grouping-data-into-buckets-using-fsharp/", "published_at": "2015-05-09T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd51791fd3", "title": "Some Tips for Using C# Libraries in F#", "url": "https://www.tamizhvendan.in/blog/some-tips-for-using-c-number-libraries-in-f-number/", "published_at": "2015-04-30T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd51c8ccf2", "title": "Verbs - Buried Abstraction in OO World", "url": "https://www.tamizhvendan.in/blog/verbs-buried-abstraction-in-oo-world/", "published_at": "2014-09-26T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd5230cc3d", "title": "If Your Fsharp Code Compiles It Usually Works", "url": "https://www.tamizhvendan.in/blog/if-your-fsharp-code-compiles-it-usually-works/", "published_at": "2013-08-08T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd52f5e522", "title": "Jade Visualizer Using Node.js and Socket.io", "url": "https://www.tamizhvendan.in/blog/jade-visualizer-using-nodejs-and/", "published_at": "2012-05-19T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd53689b58", "title": "2012 – a Year of Aspirations", "url": "https://www.tamizhvendan.in/blog/2012-year-of-aspirations/", "published_at": "2011-12-29T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd53f124b4", "title": "Going Declarative in C#", "url": "https://www.tamizhvendan.in/blog/going-declarative-in-c/", "published_at": "2011-11-22T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd54987db6", "title": "Think Before You LINQ", "url": "https://www.tamizhvendan.in/blog/think-before-you-linq/", "published_at": "2011-11-03T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd55648035", "title": "Practice, Practice, Practice !!", "url": "https://www.tamizhvendan.in/blog/practice-practice-practice/", "published_at": "2011-09-15T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd56539aec", "title": "A Journey Towards Software Craftsmanship", "url": "https://www.tamizhvendan.in/blog/journey-towards-software-craftsmanship/", "published_at": "2011-07-27T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd566114a8", "title": "Dynamic Polymorphism - a Real Time Example", "url": "https://www.tamizhvendan.in/blog/dynamic-polymorphism-real-time-example/", "published_at": "2011-04-24T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd57432d2c", "title": "Dropdown list manipulation using jQuery", "url": "https://www.tamizhvendan.in/blog/in-this-blog-we-are-going-to-see-how/", "published_at": "2011-02-10T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd57f4041c", "title": "Creating a Webpage Like iGoogle Using jQuery", "url": "https://www.tamizhvendan.in/blog/creating-webpage-like-igoogle-using/", "published_at": "2011-02-07T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd5843ef6f", "title": "Programmatic Solution for a Real Time Numerology Belief", "url": "https://www.tamizhvendan.in/blog/programmatic-solution-for-real-time/", "published_at": "2011-01-07T00:00:00+00:00" }, { "id": "01a087e9-5df4-72de-93c1-d9bd5897b7a4", "title": "Thank God !!", "url": "https://www.tamizhvendan.in/blog/thank-god/", "published_at": "2011-01-05T00:00:00+00:00" } ] posts Claim your blog
Back to tamizhvendan.in
Blog · corpus.blog/blogs/tamizhvendan.in/posts

tamizhvendan.in

tamizhvendan.in

2025

29 Oct 2025

2024

2023

2019

2018

2017

2016

2015

2014

2013

2012

2011