CF Mitrah (@cfmitrah) profile picture

Saravana muthu, OSS Enthusiast, CFML (Adobe ColdFusion, Railo & OpenBD) Developer, CTO @MitrahSoft ( http://t.co/Wr3Dt73AIV ) LinkedIn::http://t.co/mmgDXwmVXU

Bangalore India
Joined December 2008
Photo by CF Mitrah (@cfmitrah)Photo by CF Mitrah (@cfmitrah)Photo by CF Mitrah (@cfmitrah)Photo by CF Mitrah (@cfmitrah)Photo by CF Mitrah (@cfmitrah)Photo by CF Mitrah (@cfmitrah)Photo by CF Mitrah (@cfmitrah)Photo by CF Mitrah (@cfmitrah)Photo by CF Mitrah (@cfmitrah)Photo by CF Mitrah (@cfmitrah)
Tamil founders in Singapore, KL, Dubai, London or Toronto: many of you ask me about building a tech team back home in Tamil Nadu. A few things I've learned from running one 🧵
1
37
Overlap a few hours, not the whole day. Two or three shared hours for standups and reviews is enough; let the rest be deep work on both sides of the time zone.
1
10
Visit in person at least once a year. A meal together in the team's own city does more for retention than any bonus. What has worked, or failed, for you?
8
Go tip: stop writing the zero-value default dance by hand. port := cmp.Or(os.Getenv("PORT"), "8080") timeout := cmp.Or(cfg.Timeout, 5*time.Second) Works for any comparable type. First non-zero wins. In the stdlib since Go 1.22. #golang
1
41
ColdFusion tip: if reFind/reReplace must chew through 100k+ characters, test it on your exact CF version, and consider java.util.regex directly: p = createObject("java", "java.util.regex.Pattern").compile("\d+"); Predictable across engines.
42
Question for Tamil founders building outside India (Singapore, KL, Dubai, London, Toronto): what has your local market taught you that you'd never have learned back home? For me it was that clear written updates build more trust than fast replies. What's yours?
2
71
Go tip: for lazy, expensive setup (config, clients, compiled regex), sync.OnceValue replaces the mutex + nil-check dance: var cfg = sync.OnceValue(loadConfig) Call cfg() anywhere; loadConfig runs once and it's concurrency-safe. In the stdlib since Go 1.21. #golang
1
2
96
Lots of ColdFusion apps still quietly make real money in 2026. The hard part isn't keeping them alive, it's changing them safely. A few things that work for us when we use AI assistants on legacy CFML:
1
1
76
Keep changes small and reviewable. One CFC or one query at a time, cfqueryparam everywhere, and run it on a local CommandBox server before anything goes near production.
1
1
19
Legacy CFML isn't the problem. Untested, undocumented CFML is. Fix that first and AI becomes a real speed-up instead of a risk.
1
14
Tamil founders running teams from Singapore, Dubai, London or Toronto: the hard part is rarely the code. It's the time zones. What works for us: • One protected overlap hour a day • Decisions written down, not lost in calls • A Friday demo, however small What's your rule?
53
A Go habit that's saved us more than once: Every outbound call gets a context with a deadline. No deadline means one slow dependency can quietly pile up goroutines until the service falls over. ctx, cancel := context.WithTimeout(ctx, 2*time.Second) defer cancel() #golang
1
2
75
ColdFusion upgrade tip: Before touching the new version, do three things: 1. Find the deprecated tags and functions you still use 2. Lock down the admin and drop unused services 3. Write tests for the few workflows that earn money Then the upgrade gets boring. #ColdFusion #CFML
1
48
Tamil founders building from Singapore, KL, Dubai, London or Toronto: your quiet edge is a deep engineering talent pool back home that shares your language and culture. Treat that team as partners, not outsourcing, and it compounds. Where are you building from? 👋
1
1
65
I've written CFML for 20+ years. When our team started shipping Go services alongside it, a few things surprised me. A short thread for anyone running a mixed stack 🧵 #golang #CFML
2
3
102
You don't have to rewrite. The best results come from keeping the CFML app as the core and moving hot paths (queues, PDF jobs, third-party integrations) into small Go services behind a simple HTTP API.
1
20
Biggest lesson: pick the tool per job, not per hype cycle. If you run CFML and Go side by side, what did you move to Go first? 👇
13