Hello 👋, I share solutions on the internet.

○ ○ ○

Recent Guides


Fzf for Code Review

On Using Godoc tool for your Go Programs

How to Perform Null Checks for Structs in Golang?

○ ○ ○

🤳 Live Feed


@tnvmadhav's pfp

Notes from "In Support of Shitty Types" by Mitsuhiko

Go’s types are much less expressive and very structural. Things conform to interfaces purely by having certain methods. The LLM does not need to understand much to comprehend that. Also, the types that Go has are rather strictly enforced. If they are wrong, it won’t compile. Because Go has a much simpler type system that doesn’t support complicated constructs, it works much better—both for LLMs to understand the code they produce and for the LLM to understand real-world libraries you might give to an LLM.

one mustn't forget that if interface{} and type-casting are used, they can still lead to runtime errors. This post primarily speaks about compile-time efficiencies.

Armin ends the post with a very interesting commentary:

I think it’s an interesting question whether this behavior of LLMs today will influence future language design. I don’t know if it will, but I think it gives a lot of credence to some of the decisions that led to languages like Go and Java. As critical as I have been in the past about their rather simple approaches to problems and having a design that maybe doesn’t hold developers in a particularly high regard, I now think that they actually are measurably in a very good spot. There is more elegance to their design than I gave it credit for.

I believe A.I. can be a lens to appreciate/depreciate decisions whose value that may not have been fully evident.

Last Updated on August 5, 2025 at 17:30

@tnvmadhav's pfp

“you can either spend $100/mo on groceries or claude max and only one of those is going to make you a millionaire”

replace subjects and numbers with anything and that’s a good argument.

it brings out two things:

  1. it takes away the focus from lower limit onto the upper limit
  2. sprinkles specificity and subjectivity

arguments against don’t seem to hold for the person making the statement in a acute perspective.

ref: https://x.com/rhyssullivan/status/1951832934245433700?s=46

Last Updated on August 3, 2025 at 17:30

@tnvmadhav's pfp

there are fewer known pleasures than listening to trinity while working weights.

Last Updated on August 2, 2025 at 17:30

@tnvmadhav's pfp

Paul Graham writes all his essays in vim.

I think I already knew that but also didn’t.

ref: https://x.com/paulg/status/1951377078114460075?s=46

Last Updated on August 2, 2025 at 17:30

@tnvmadhav's pfp

An excerpt from a rant by Salvatore Sanfilippo on X.

Companies discover that complexity is a form of vendor lock-in, among the other things. People that created a mess get promoted, since IT no longer evaluates design quality as one of the metrics for success.

ref: https://x.com/antirez/status/1950483014938484928

Last Updated on July 30, 2025 at 17:30

@tnvmadhav's pfp

Excerpt from "Agentic Coding Things That Didn’t Work"

Forcing myself to evaluate the automation has another benefit: I’m less likely to just blindly assume it helps me.

Because there is a big hidden risk with automation through LLMs: it encourages mental disengagement. When you stop thinking like an engineer, quality drops, time gets wasted and you don’t understand and learn. LLMs are already bad enough as they are, but whenever I lean in on automation I notice that it becomes even easier to disengage. I tend to overestimate the agent’s capabilities with time. There are real dragons there!

You can still review things as they land, but it becomes increasingly harder to do so later. While LLMs are reducing the cost of refactoring, the cost doesn’t drop to zero, and regressions are common.

I too have experienced this "mental disengagement". I think this traces back to my mindset of "DRY" (Don't repeat yourself) and "Solve once, use forever"

It's funny how literal my subconsicous takes these rules. I have to consicously remind myself that I don't live in an ideal world where everything is deterministic.

REF: https://lucumr.pocoo.org/2025/7/30/things-that-didnt-work/ by @mitsuhiko

Last Updated on July 30, 2025 at 15:29

@tnvmadhav's pfp

Terence Tao on applying Blue team vs Red team concepts to LLMs:

In the field of cybersecurity, a distinction is made between the "blue team" task of building a secure system, and the "red team" task of locating vulnerabilities in such systems. The blue team is more obviously necessary to create the desired product; but the red team is just as essential, given the damage that can result from deploying insecure systems.

The nature of these teams mirror each other; mathematicians would call them "dual". The output of a blue team is only as strong as its weakest link: a security system that consists of a strong component and a weak component (e.g., a house with a securely locked door, but an open window) will be insecure (and in fact worse, because the strong component may convey a false sense of security). Dually, the contributions to a red team can often be additive: a red team report that contains both a serious vulnerability and a more trivial one is more useful than a report that only contains the serious issue, as it is valuable to have the blue team address both vulnerabilities. (But excessive low-quality reports can dilute attention from critical issues.)

Because of this, unreliable contributors may be more useful in the "red team" side of a project than the "blue team" side, though the blue team can still accommodate such contributors provided that the red team is competent enough to catch almost all of the errors that the contributor to the blue team might make. Also, unreliable red team contributions only add value if they augment the output of more reliable members of that team, rather than replace that output, and if their output can be effectively filtered or triaged by more experienced red team members. (1/3)

The blue team / red team distinction extends beyond cybersecurity to many other disciplines as well. In software engineering, for instance, "blue teaming" might correspond to the generation of new computer code, while "red teaming" would consist of such tasks as quality assurance and testing of such code. In mathematics, "blue teaming" could involve coming up with speculative ideas to solve a math problem, while "red teaming" checks the arguments for formal errors, and also raises heuristic objections to a blue team approach being viable. (See also my discussion about "local" and "global" errors in mathematics at https://terrytao.wordpress.com/advice-on-writing-papers/on-local-and-global-errors-in-mathematical-papers-and-how-to-detect-them/ ).

I like to refer to these two teams in mathematics as the "optimists" and "pessimists"; in my experience, the strongest collaborations arise when there is a roughly equal split between the optimists and pessimists in the collaborations. (Depending on the collaboration, I myself have sometimes played the optimist, sometimes the pessimist, and sometimes a mixture of both.) (2/3)

Many of the proposed use cases for AI tools try to place such tools in the "blue team" category, such as creating code, text, images, or mathematical arguments in some semi-automated or automated fashion, that is intended for use for some external application. However, in view of the unreliability and opacity of such tools, it may be better to put them to work on the "red team", critiquing the output of blue team human experts but not directly replacing that output; "blue team" AI use should only be permitted up to the capability of one's "red team" to catch and correct any errors generated. This approach not only plays to current AI strengths, such as breadth of exposure and fast feedback, but also mitigates the risks of deploying unverified AI output in high-stakes settings.

In my own personal experiments with AI, for instance, I have found it to be useful for providing additional feedback on some proposed text, argument, code, or slides that I have generated (including this current text). I might only agree with a fraction of the suggestions generated by the AI tool; but I find that there are still several useful comments made that I do agree with, and incorporate into my own output. This is a significantly less glamorous or intuitive use case for AI than the more commonly promoted "blue team" one of directly automating one's own output, but one that I find adds much more reliable value. (3/3)

via Mastodon

Last Updated on July 30, 2025 at 10:18

@tnvmadhav's pfp

Quoting Tim Sweeney on monitors

if you’re gonna spend 4500 hours per year in front of a monitor, buy the best.

ref: https://x.com/timsweeneyepic/status/1949224032827846954?s=46

Last Updated on July 27, 2025 at 17:30

@tnvmadhav's pfp

Uncle Bob on SQL

SQL was never intended to be used by computer programs. It was a console language for printing reports. Embedding it into programs was one of the gravest errors of our industry.

ref: https://x.com/unclebobmartin/status/1917410469150597430

Last Updated on July 25, 2025 at 17:30

@tnvmadhav's pfp

the only thing about A.I. prompting that bothers me is that I'm not thinking...

i'm not in flow state.

it's like im constantly being interrupted by slop.

i don't mind being wrong and retrying...

it's always like here's the requirement, here's the function signature, now give full function. I just copy and paste, test, review, git commit.

it's lovely for small bug fixes, not great for learning something.

i get why technical founders who are looking to increase customer-value per effort really love it.

using A.I. forces you to be an owner looking for value.

the denominator is falling exponentially. i need to change by mindset.

Last Updated on July 25, 2025 at 13:09

○ ○ ○

Find more posts from following topics

1
10
11
12
13
14
15
16
17
18
19
2
20
2024
2025
21
22
23
24
25
26
27
28
29
3
30
31
4
5
6
7
8
9
@binding
abbacchio
accurate requests
anime
api development
api testing
api testing tools
apple
april
arm
array
august
automated testing
bad habits
base64 decoder
base64 encoder
bash
biography
blog
blogging
books
browser
bulma css
bulma.io
bulmacss
button swiftui
chatgpt
chrome
clipboard
code
code block
code navigation
code snippet
code-review
codecoverage
comparison
compile
computer networks
configuring debugger for django in vs code
configuring launch.json for python debugger
copy
copy to clipboard
copy to clipboard neovim
css
current date
current time
current timestamp
database
debugger setup in visual studio code
debugging
debugging django app in visual studio code
debugging python code in visual studio code
debugging python programs with visual studio code
debugging python with virtual environment in vs code
december
developer productivity
developers
development
development workflow
django
django rest framework
dom
dynamic sitemap in nextjs
editor
encryption
engineering dashboard
enumerate
experience
february
fiction
flowcharts
fzf
generics
git
git diff
github
global keyboard shorcut
global shortcut
go hugo
go programming
go test
go to line
go tool
go1.18
golang
golang development
golden wind
good habits
gorilla websocket
gpt
gpt-3.5
gpt-4
gpt-4 api
guide
gumroad
habits
habits tracker notion template
hamburger menu
har
hotkeys
html
http
http-archive
hugo
ide
image
image sharing
image tool for ios
imagerenderer
include timestamp
integrated development environment
intel
ios
ios 16
ios16
iphone
iphone 13
iphone 13 pro
iphone 13 pro max
january
javascript
jojo's bizzarre adventure
july
jump to definition
june
keyboard shortcut
leonardo da vinci
lessons
linux
logging
ls
lsp
macos
map
march
markdown
markdown code
may
mental programming
menu
menubarextra
mergesort
mermaid syntax
mistake tracker notion
mobile view
modifier
modulo operation
navbar
navigationlink
navigationstack
neovim
nested functions
next.js
nextjs
nextjs markdown
nextjs sitemap
nextjs sitemaps
nice shot
nice shot pro
notion
notion api
notion api python
notion budget
notion budget template
notion budget tracker
notion bug report tracker
notion dashboard
notion expense manager
notion habits
notion habits dashboard
notion habits template
notion habits tracker
notion habits tracker template
notion issue tracker
notion mistake tracker
notion product
notion product dashboard
notion product roadmap
notion product roadmap dashboard
notion tasks
notion tasks dashboard
notion tasks template
notion tasks tracker
notion template
notionworkspaces
november
october
openai
osx
pagination
personal ifttt framework
photospicker
photospickeritem
phpickerfilter
postgres
postman capabilities
postman request
powerpc
pre-request script
product roadmap notion template
product roadmap template
productivity
productivty
programming
python
python api
python debugger tutorial for vs code
python debugging mode in vs code
python notion api
python3
reading
real time communication
rehype
remark
request data
rosetta
running debugger in visual studio code
running django app in debugging mode
running program in debugging mode in vs code
running python code in debugging mode
safari
screenshot app for ios
screenshot app ios
screenshot ios
screenshot tool for ios
september
set current timestamp
setting up debugger in vs code for python
share extension
sharelink
sharepreview
sharesheet
simple websocket server
sitemap
slice
slices
slider
sort
sorting
space complexity
sql
ssh
step-by-step guide
stocks profits tracker
stocks profits tracker template
stocks tracker
struct
sustained vigilance
swift
swiftui
swiftui button
swiftui button action
swiftui button style
table of contents
tasks tracker notion template
tcp
test
testing
textfield swiftui
til
tim-sort
time complexity
timeliness
timestamp integration
timsort
transferable
triggers and actions
tutorial
unittest
unix
us stocks
usa stocks
useful ios features
using breakpoints in python debugger
using virtual environment with python debugger
vanilla javascript
variable
vim
visual mode
visual studio code
vs code
vscode
vscode go to line
walter isaacson
web sockets in go
websocket client
websocket programming
websocket server
white screen of death
wsod
x86
xcode
xss
zsh