How to be a Hacker (with less resources)
by Badri Sunderarajan · Fri 31 October 2025
This conversation is from a discussion that took place on the FSCI groupchat. I decided to share it here since it might be useful for others as well. Your responses are slightly edited, but mine are copied more or less as-is.
I've spent so much money on renting a static IP address and buying machines to run Linux, BSD and other OSes to host open source stuff. But it's starting to get very expensive. Is it really worth it?
Maybe I should just focus on using AI so I can land a good job and then contribute to Free Software later...
Sounds fair about using proprietary software; not everyone has the luxury to use fully Free Software and even my brother has ended up having to use WhatsApp to maintain some social connections
But I just want to point out that using LLMs the way you're doing is also unlikely to make you successful and make you a good programmer
It could be a shortcut to getting semi-working prototypes, but think of it this way: if prompting is so easy, there's nothing stopping someone else from doing it rather than hiring you. What's going to set you apart is concrete skills like reading documentation and asking questions
If you really want to get in on the hype, the best place in my opinion is probably to learn more about the underlying mechanisms of LLMs and work on that: training, statistics, etc.
I see, thanks for the suggestions. I will try to improve my skills instead of wasting time on LLMs
I was learning about ML stuff to make models to achieve different tasks which is not a bubble like LLM: it has been used in the industry for a long time and hopefully it will be used even after the LLM bubble bursts
By the way, a couple of things I wanted to add are that there are ways to try out stuff even without spending a lot of money. I didn't have any access to online payment mechanisms when I started programming, so I used a free account on HelioHost and a patchwork of various other services where I could eke out an existence for my web projects. This helps me to call out bullshit even today when people say that I need to pay $5/mo for this or that service. There were some free things like domains on dot.tk that were available back then, which aren't around any more, but there must be new free things as well to work with. I would say not having money was a blessing in disguise, but it wasn't even really a disguise because I didn't feel any limitations.
The second is that community is important. The most obvious aspect of this is the ability to ask questions and conversely to help answer the questions of other people. I learnt this on the HelioHost forums and also on Q/A oriented places like Ask Ubuntu and other parts of the Stack Exchange network
One reason I dislike people asking LLMs for answers is that these answers (or the training for them) would have originally come from places like SE, but when people get an answer from an LLM there's no reciprocation—not even upvoting which would make a person happy to know their question is useful to many people and motivate them to engage more. Without engagement in those spaces, there's less motivation to ask new questions and write new answers, which is bad even from a hedonistic LLM-centred perspective as LLMs would end up relying on answers from an increasingly stale dataset
👍
The main requirement for asking questions on those networks is a bit of patience while someone responds to your query. This wasn't an issue for me as my computer time was limited so I'd come back the next day to find an answer. In the longer run, you will also learn how better to frame questions even to the extent of narrowing down to the answer yourself (and still posting on SE, in case it helps someone else)
That was the obvious part of community, but the less often repeated part is to respect the resources you were given. I could have created multiple accounts on HelioHost to get around storage limits, but everyone doing this would lead to a breakdown of the entire system. Similarly, the first thing one used to learn about when getting into web crawling was to respect
robots.txtdirectives. Big Tech companies have now violated this rule resulting in large swathes of the Web closing itself off behind memberships, registration-walls, and paywalls in an act of self-preservationMy advice here would be: take a bit of time to read and internalise the rules and norms of the community. Disobeying these rules and norms may be benificial to you in the short term (or even forever), but (a) it'll make people hate you, and (b) too much of it happening would disrupt the community itself. These norms are what make a community a community rather than a set of self-centred persons. And yes, "everyone who has a website on the Internet" is also a community of sorts
👍
Finally, about programing itself: I think using LLM coding assistants are best likened to copy-pasting code snippets. They work to get a quick job done. Even I've done it (copy-pasting, I mean), including to build an ecommerce website using Perl, CGI, and minimal JavaScript. At the end of it, I had no idea I had used Perl and had only a minimal understanding of what CGI was, but it got the job done
😵
However, this was only a first step to understanding. It gave me the confidence that I could put something together and it'd work (maybe this is where LLMs differ as it's less of you putting things together and more of the machine attempting to do it). The next step is to go and read proper tutorials and documentation to get a good idea, from first principles, of how things work. My preferred method for this is O'Reilly books but I suppose there must be video resources and stuff to if that's what you prefer
Reading through the entire Django documentation for example gave me a good understanding of what the framework could do, so I could choose not just a way to do it but one of the optimum ways of doing it. It also helped me muddle my way through other frameworks like Laravel without reading the docs because I had a sense of "Django has an elegant way to do __, so there must be a similar way to do it in Laravel"
Since my computer time was restricted (as I mentioned before), having this full overview also allowed me to plan out code in my notebook and keeping it ready to type out. Indirectly, it would have accelerated my getting familiar with the code (I still plan things in my head quite often, though not necessarily in a notebook)
My strategy with code snippets right now is to type out the entire snippet again instead of copy-pasting: it's more time-consuming, but it helps me internalise and properly understand it. (When copying from my own code, I more often copy-paste because I already know how it works).
Code completion through static analysis and other methods is cool though; I only configured my emacs for it a few months ago and should look into fine-tuning it more 😇
Contrast this with someone I saw who made some code changes because "Claude told me to do it" but when the suggestions ended, they were totally lost about what the changes did and where to go next because they hadn't understood the code, only prompted an LLM to go through it
The conversation ended with an addendum from asd who encouraged me to post it to my blog:
The contradictions of capitalism is such that as long as claude is sending tokens and as long as you're willing to operate it, there'd be a capitalist who will want you to do it (and will pay your claude subscription fee) because he can sell your prompting labor for 10-50x what it costed him
...and they won't care if you know the craft of programming.
But they might care when they need somebody to fix the mess of a codebase that the LLM has produced?
Only if they can't get away with it.
Anyway in conclusion the above would help the reader become somebody I'd be able to think of hiring
Thanks for reading; please comment your thoughts and don't forget to like, share, and subscribe 🔔
Ctrl-C, Ctrl-V to your blog
But if I were to follow my principles I'd have to type it out again instead of copy-pasting 😭
You are no longer connected to this group chat. Click here to rejoin.
