Live data from Hacker News

Go ahead, write the “stupid” code

spikepuppet.io

131–140 of 157 posts

Re: Go ahead, write the “stupid” code

#131

Earlier quoted context omitted.

I think this is mostly true, but also I’d highlight the necessity of having a mental model, and iterating. I think it is common for a programmer to just start programming without coming up with any model, and just try to solve the problem by adding code on top of code. There are also many programmers who go with their first “working” implementation, and never iterate. These days, I think the pendulum has swung too fa…

My philosophy: 1. Get it working. 2. Get it working well. 3. Get it working fast. This puts the "just get it working" as the first priority. Don't care about quality, just make it. Then, and only once you have something working, do you care about quality first. This is about getting the code into something reasonable that would pass a review (e.g., architectually sound). Finally, do an optimization pass. This is the…

This somewhat depends on how big of program/application you are making.

Again, this is something I set bite enterprise style applications quite often as they can be pushed out piecemeal where you can get things like the datastore/input APIs/UI to the customer quickly, then over the next months things like reporting, auditing, and fine grained access controls get put in, and suddenly you find yourself stuffed working around major issues where a little bit up up front thinking about the later steps would have saved you a lot of heartache.

Re: Go ahead, write the “stupid” code

#132

Earlier quoted context omitted.

No, my point is happiness is a choice. There is no sociopolitical statement, no call-to-arms, no pontification as to the measure of one's life, no generational implications. There is an existential consideration, but not of the nature your post implies. Happiness is an individual choice, available to us all at any time. Full stop.

Thank you, your post cured my depression. (Sarcasm) This is pure magical thinking. There are many reasons to be not happy. Being in pain, having lost a loved one, not having your physical needs met and well simply having depression or a myriad of other problems. And people shouldn't be happy with all circumstances. It is not healthy to be happy all the time. Sometimes accepting the negative emotions is important for…

> Thank you, your post cured my depression. (Sarcasm)

I understand what both of you are saying, but I think its disingenuous to assume that happiness is simply the opposite of depression.

Re: Go ahead, write the “stupid” code

#133

Earlier quoted context omitted.

Sure, that sucks. You know what else sucks? The engineer who does nothing but foundation building and then is surprised that reality doesn't align with their meticulously laid out assumptions.

An engineer that does nothing but foundations can still be a damn good geotechnical engineer. A foundation that isn't useful to build atop is just a shitty foundation. Everyone is taking it for granted that building a good foundation is impossible if you haven't built a shitty foundation for the same building first, but that's not the only way to do things.

The analogy is strained. Software is closer to a food recipe than a building. Trying to make a 3-layer strawberry banana cake with pineapple frosting? You are going to have to bake something and taste it to see if your recipe is any good. Then make some adjustments and bake some more.

Re: Go ahead, write the “stupid” code

#134
post #38

Earlier quoted context omitted.

Luckily you can still pursue being a musician without all the pressure of having to be successful. On this road, one day you are free to declare your own success to yourself

Maybe if the internet and piracy hadn't fucked artists over, they could have made decent money as a musician selling their work without having to be a major-label superstar. Alas, we do not live in that timeline.

Right, before the internet the labels were great to artists!...

Re: Go ahead, write the “stupid” code

#135

Earlier quoted context omitted.

This is an interesting take. It maps decently to the "first to market" mentality of a lot of programming these days. For sure, we'd get better programmers if they were judged by the quantity of code they produced in their personal projects, but if "quantity learners" are simply forced to churn out bad code without any reflection or the time to experiment, then I would agree that it seems pretty naive to think they'll…

Also think about software recently. Is it actually better? IME I face more bugs than ever. Trivial ones to that are clearly being deprioritized but relatively easily solvable.[0] Do an experiment for me. Write down every bug you face today. Even small. I think you'll be surprised at how many there are and even more at how many are likely simple to solve. I know it's not just me as so many around me are getting increa…

>I face more bugs than ever

I mean, lets leave phones out of this for a moment and look at PCs...

When was the last time your PC operating system crashed?

When was the last time your applications you use on your PC crashed?

When was the last time you could not find an application for your PC that did what you needed to accomplish?

The early days of software absolutly sucked. Crashes, data loss, and limitations were the name of the game. The big things like data corruption were constantly problems. You didn't notice the small problems because you were fighting the big ones. The problem spaces software was solving for people was also relatively small. Now it's easy to find small bugs everywhere because software ate the world. It's harder to name something software has not expanded into than what it has, and yet we are still not near the boundaries of exploration of what software can do. When a system has not discovered its boundaries speed will almost always win over direction.

Re: Go ahead, write the “stupid” code

#136
post #135

Earlier quoted context omitted.

Also think about software recently. Is it actually better? IME I face more bugs than ever. Trivial ones to that are clearly being deprioritized but relatively easily solvable.[0] Do an experiment for me. Write down every bug you face today. Even small. I think you'll be surprised at how many there are and even more at how many are likely simple to solve. I know it's not just me as so many around me are getting increa…

>I face more bugs than ever I mean, lets leave phones out of this for a moment and look at PCs... When was the last time your PC operating system crashed? When was the last time your applications you use on your PC crashed? When was the last time you could not find an application for your PC that did what you needed to accomplish? The early days of software absolutly sucked. Crashes, data loss, and limitations were t…

Yeah. The BSoD wasn't dreaded because it was an infrequent surprise visitor.

Re: Go ahead, write the “stupid” code

#137

For sure. I'd argue to write the "stupid" code to get started, get that momentum going. The sooner you are writing code, the sooner you are making your concept real, and finding the flaws in your mental model for what you're solving. I used to try to think ahead, plan ahead and "architect", then I realized simply "getting something on paper" corrects many of the assumptions I had in my head. A colleague pushed me to…

This is why I hate software engineering as a profession. You're going to write the "stupid code" to get things out the door, get promoted and move on to another job, and then some future engineer has to come along and fix the mess you made. But management and the rest of the org won't understand why those future engineers are having such a hard time, why there's so much tech debt, and why any substantial improvements…

I mean, you can write the stupid code to get something working, and not submit the code until you've iterated on it.

Re: Go ahead, write the “stupid” code

#138
post #135

Earlier quoted context omitted.

Also think about software recently. Is it actually better? IME I face more bugs than ever. Trivial ones to that are clearly being deprioritized but relatively easily solvable.[0] Do an experiment for me. Write down every bug you face today. Even small. I think you'll be surprised at how many there are and even more at how many are likely simple to solve. I know it's not just me as so many around me are getting increa…

>I face more bugs than ever I mean, lets leave phones out of this for a moment and look at PCs... When was the last time your PC operating system crashed? When was the last time your applications you use on your PC crashed? When was the last time you could not find an application for your PC that did what you needed to accomplish? The early days of software absolutly sucked. Crashes, data loss, and limitations were t…

  > When was the last time your PC operating system crashed?
I daily drive both Linux and Mac. Last year I had a Windows laptop from work.

For Linux? I'm not sure, but definitely longer than 6 mo. Last crash I remember was my fault and quite awhile ago.

For OSX? Last week. The most common one of when I close my laptop, go "ops, need to do X real quick", and when I open it up the screen doesn't come up. Not sure if a backlight issue but I don't think it is. It doesn't seem to be logging in and I can't get keys like volume to respond where I'd have feedback. Flashlight trick doesn't work. If I wait the laptop reboots itself and half the time I do get a crash report (I suspect this happens more than I think too since occasionally I'll come to my laptop and it was rebooted. Like back from lunch or a quick break, not overnight. Less frequently I find crash reports) Happened since day 1 and even on the last MacBook I had. I get this error at least twice a month. Also can happen when disconnecting my monitor.

Windows? Jesus Christ, how do people live like that? Arch was more stable a decade ago.

  > When was the last time your applications you use on your PC crashed?
On Linux, two weeks ago I had a crash while playing cyberpunk (the most optimized game there ever was... except maybe StarField). Last week Silksong had a soft error where the joystick stopped responding when my wireless controller issued the low battery warning. Outside that, I can't think of anything other than when I accidentally run a sim calling too many resources, but that's not common and I'm not sure it counts.

On Mac, at least every two weeks. I feel like 6mo ago it was more like once a month though. I've been interviewing lately and Teams is definitely a bigger problem than Zoom. I think Firefox has crashed twice in the last 6 months? I'm also a tab hoarder. But mail crashed way more early on so I switched back to Thunderbird and while it doesn't crash I'm sure there is a small memory leak. I'll restart like once every 2 weeks because it'll start pushing a gig of ram. I know, I'm picky, but my email client shouldn't ever use a gig of ram. And I was writing my PhD thesis a few months back and preview would occasionally crash. Zathura had no issues. Slack definitely more frequently than FF.

Windows? Just about every day. I was able to reduce errors once the IT guy informed me that Windows Hello being used for the login was why Outlook was constantly crashing. Switching to a typed password did a lot. But after that it still reminded me of the days where I was learning Linux and distro hopping.

  > When was the last time you could not find an application for your PC that did what you needed to accomplish?
Daily? Okay, but probably weekly?

Less of a problem on Linux. Often it's small things so I can write a quick shell script. I can find most things I want on the AUR but often I'll build from source.

OSX? That depends. Do I have to pay? If so, IDK. I'm not willing to pay a subscription fee for what's a glorified shell script.

Windows? Work laptop so wasn't really looking.

I generally agree, things are getting better but the problem wasn't that big 10-20 years ago ime. I can only think of 2 instances where I had data losses and both were on Linux laptops while distro hopping over 15 years ago. In both cases I was able to recover too. Yeah maybe the issue was bigger in the pre Windows 95 days but that's way back and hardware has also made significant strides. Don't give software the credit for better hardware.

But I think you're missing an important question:

  How often do programs have unintended or unexpected behavior?
That is not a crash but is a bug. The calendar issue I mentioned above is not unique to my phone. Later on I also mention how I had essentially no means to merge contacts despite identical names, nicknames, phone numbers, and birthdays (differing only on email and notes). *WHO THE FUCK THINKS "FIND CONTRACTS" IS A BETTER SOLUTION THAN CLICKING TWO ENTIRES AND THEN CLICK "MERGE"? And guess what, it couldn't find the duplicates. This is a trivial database problem! I was able to eventually find a way to merge after some googling. But I discovered the duplication because my gf had 3 entries on my calendar for her birthday. When I merged, she ended up with 4! Again, that is a trivial database problem.

This category of problem is greatly increasing in frequency. I know you might think it's a comparison bias, and I think that's a reasonable guess, but it isn't. I've definitely "infected" my friends and family so they're more "sensitive" to bugs but years after that they agree that their devices are becoming harder to use for the same tasks they did before. Either through little bugs like this piling up or having some new features being pushed on them that they don't want and disrupts their workflow. That last one is really common.

So I don't want to dismiss you, because I don't think you're entirely wrong. But also I think you're being too quick to dismiss me. Your justification isn't a complete explanation of my experience. Nor does it account for how programs and getting slower and heavier. I mean God damn, how many seconds does it take for Microsoft Word to open (cached? Not cached?) and how many gigabytes of ram does it use? Those shouldn't even be the units of measurement we should be discussing! Both are at least a magnitude too large. I'm absolutely certain programs are bloating. And I think it should be unsurprising that with bloated comes more opportunities for errors.

This is also the type of problem I expect average people to not notice as it happens more slowly and if you don't understand computers it's easy to believe it's just the way it is. But we're on HN, we do. We know better. We also know how the sausage is made and we've experienced the increasing pressure for speed and seen the change in how programs and programmers are evaluated. I do not think you can discount these effects.

It shouldn't be a surprise that moving faster correlates strongly with making more mistakes. You don't deny the optimization for speed, but do you really think you can accelerate for free? There's a balance and I'm confident we've sped through that equilibrium.

Re: Go ahead, write the “stupid” code

#139
post #54

Earlier quoted context omitted.

I think PP's point was .. that even if you spend your whole life pressed into laboring to produce a surplus to satisfy the excessive consumption of the elites of your heretical society, in ways that create existential risk for future generations, and are at odds with your own inner values and moral compass.. you can still see the 'immateriality' of all that in the grand scheme of things and choose to be happy.

No, my point is happiness is a choice. There is no sociopolitical statement, no call-to-arms, no pontification as to the measure of one's life, no generational implications. There is an existential consideration, but not of the nature your post implies. Happiness is an individual choice, available to us all at any time. Full stop.

If you have your basic needs met, have no physical ailments etc. I would agree with you. Your statement applies to a certain subset of folks that are defeatist, pessimistic etc. but not everyone.

Re: Go ahead, write the “stupid” code

#140

Earlier quoted context omitted.

An engineer that does nothing but foundations can still be a damn good geotechnical engineer. A foundation that isn't useful to build atop is just a shitty foundation. Everyone is taking it for granted that building a good foundation is impossible if you haven't built a shitty foundation for the same building first, but that's not the only way to do things.

The analogy is strained. Software is closer to a food recipe than a building. Trying to make a 3-layer strawberry banana cake with pineapple frosting? You are going to have to bake something and taste it to see if your recipe is any good. Then make some adjustments and bake some more.

Is the argument here that a skilled chef has no better way to make good food than unguided trial and error? That's obviously not true, as the abundance of "random ingredient" cooking challenges will attest.
Post reply on HN