6 ms·
Learned that by coding with a friend I considered a terrible coder. I worked with him on a lot of fun projects, because we get along well, and he really doesn'
by BiteCode_dev 3y ago
Learned that by coding with a friend I considered a terrible coder.
I worked with him on a lot of fun projects, because we get along well, and he really doesn't know what he is doing, copy / pasting all other the place, no archi, no design, bad naming... Half of the time he's not sure what the code is really doing.
And it works.
I noticed how in the end he accomplished more than I did. He didn't sweat the small stuff, he worked more, way more, as well. He didn't write unit tests, but he always tested everything manually again and again by playing with the result like a kid.
In the end I embraced the idea.
I wanted to code a contact software because all the ones I tried didn't do what I wanted. I didn't, I just used django-admin and called it a day instead of trying to craft some slick UI. I've been using that terrible stack of forms for 10 years, and it did the job.
I needed a cli for totp years before any existed, I just fired Python and dumped, in clear text, the seeds in TOML. Took me half a decade to add encryption to it, because symlinking the file from a veracrypt container was sufficient and required little work.
2 months ago I wanted a timer to top up a time budget when I do sport, and consume it when I play video games (https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22a55399-553f-4115-af1c-273e48634a11_563x654.png https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_...). I just splatted a wall of tailwind regurgitated by chatgpt and pupetted by HTMX. Turns out it was just enough. I show that to my friends that were asking me wtf I was doing with this, and 4 people asked me an account, one a trial for doctors for addiction programs (!). Don't even have a register form, I hard coded them :)
Wish I told my young self to stop being so obsessed with doing things right or even working on important problems. I never managed to reach "right" in my entire life anyway.
- eitland 3y agoI noticed years ago that if I started by doing everyting correctly (naming my project etc) it would likely be doomed. After I started letting my projects have the names my IDE assignes until they have proven themselves to be interesting my success rate seems to have increased. I think this is related to the same underlying thing you describe.
- justsomehnguy 3y agoI'm in the process of writing a some small system which relies on MariaDB as a storage. The thing is what I don't want to use SQL connector on the endpoints, so I need some HTTP intrrface. I vaguely remembered what I did something like that some time ago, but decided to started fresh. Well, fastforward to the last Monday, I'm a little stuck and it gets me wondering how I managed to solve it (if ever) the last time. A couple of searches later I found out what I wrote a 'proper' REST-like API wrapper, with OpenAPI, the proper HTTP response codes and whatever... just a year ago. Yet I spent so much time on it I didn't even used it anywhere and subsequently forgot about it.
- ess3 3y agoI’ve found the opposite work for me. Finding silly pun names early greatly improves the chances of me finishing it.
- mrweasel 3y agoYou can always just hammer software together and just clean it up later, when you know what you want/need. There's some weird logic in cleaning up code, especially that of others. You curse and wonder what the hell they where thinking, but on the other hand, they got the thing of the ground so...
- amatecha 3y agoI'm doing this right now, writing the dumbest, unmaintainable crap, because I don't know what I'm doing (writing a fun "useless" app with tech I know very little about), but yeah.. it's working! It's productive, even if grueling. and I'm learning a lot in the process. Fun stuff :) Luckily I do know how to clean it up later and refine it (and make it more maintainable/extensible), but I'll do that when I actually have something working. I can definitely support this approach as it's been very productive for me in the past, too (especially when trying new stuff).
- barrysteve 3y agoThat physically hurts to read. It is why there is nothing new on the web and what's here today will be roughly the same as what's here in 50 years time. There should be one programming stack that does work and you can understand it completely without going to MIT or getting blindsided by vendors and it sticks around for decades and you don't have to get stuck in boilerplate, or learn-the-hard-way how a bubble sort works, or how a data structure should be designed, or how an algorithm should be crafted.
- BiteCode_dev 3y agoLol. Yeah, and humanity should speak the same language everywhere. Also, we have enough food for everybody, why are some people starving? Welcome to reality.
- pyrale 3y agoNo offense, but that reality sucks. When people offer utopias, that doesn't mean they were born yesterday or are terminally naive. Rather, that's how all big social paradigm shifts start at some point.
- BiteCode_dev 3y agoSure, and the sky is blue. Thanks for listening to my ted talk.
- acuozzo 3y agoThis has existed for years. The programming language is called Employee and it comes stock with a natural language compiler. Fred Brooks wrote a good book on how to hook several Employee installations together to act as a distributed code generation system. Unfortunately, use of Employee isn't free, but if you have a PhD and work in academia you can get access to installations of Graduate Student.
- monooso 3y agoThis assumes that your ideal tech stack is the same as my ideal tech stack. It also assumes that every project has the same technical challenges and requirements. Neither of those things is true.
- Cthulhu_ 3y agoSame; one guy that kind of inspired me back in the day was a complete dick, and when I saw his code later on it was awful. But, he also made $100 / hour living in a low wage country (east bloc / former soviet). He'd buy a domain and its content, redo the software, do some SEO and the like, then sell it for 10x what he paid for it in like 3 months. ~$7000 profit for three months of work is not bad, and I doubt it was fulltime.
- sanderjd 3y agoIt's funny, I have had similar experiences, with a totally different conclusion. I've worked with people who just throw shit at the wall like that, and like you, I've seen the shit stick to the wall often times. But my conclusions have been something like: 1. It doesn't work out just as often as it does, and it's impossible to predict which situation is which, and harder to fix post-facto than it would have been to just not do it that way from the start, so (IMO) it's a crapshoot with negative expected value, 2. I hate working this way, at a personal level, which leads to: 3. I just don't want to spend my time working on stuff where this is even plausibly the right approach. All in all, this was one of the formative experiences that has led me to seeking out deeper and larger projects to spend my time on, rather than the string of smaller more trivial things that lend themselves to this approach to software. But the other side of that coin is that I'm a lot more content now with the understanding that other people just have different preferences than me. I spend a lot less time thinking about what the right way to build software is, and more time thinking about what's right for me.