HackerTrans
TopNewTrendsCommentsPastAskShowJobs

hvasilev

no profile record

Submissions

Ask HN: How do you discover features in unknown code bases?

26 points·by hvasilev·4 lata temu·24 comments

comments

hvasilev
·3 lata temu·discuss
First you pointed out your extensive experience as a basis for your argument and now when you realize you're completely out of your depths, you call us "locked in their ways" and call yourself "I am a hack programmer at best and I can admit that".

Fun fact: I'm actually not really seeing this "locked in your ways" as people get older, I see people asking about the cost-benefit of using a technology before using it a lot more. Just because I got curious, I took another look at the repo, there was a few libraries that I've never seen, but generally I'm up to date with what is going on (might have not used anything in production, but at least out of curiosity - I'm familiar). As I pointed out elsewhere, there are just literally 16 different languages used in this project and over 270k LoC.

I'm way past the stage of my life in which I feel a need to have a dick measurement contest online with random people about my experience, where I work and how many devices do we sell per year.

I think you might need emotional support in your life, take care.
hvasilev
·3 lata temu·discuss
I'm asking you what do you think about it, not what the devs think about it. Let me phrase it differently, there are a total of 16 languages and 276969 lines of code in the repo for a "soldering iron firmware"
hvasilev
·3 lata temu·discuss
Number of different languages used in the repo: 16

Lines of code in the repo: 276969

https://pastebin.com/Fi97jHFB (as displayed by cloc on the repo)
hvasilev
·3 lata temu·discuss
what do you think is the proportion between boilerplate and tooling to actually useful functionality?

Given this ratio what do you think about the scope of this project?

I'm not sure why or when, but it seems to me that at some point this industry stopped trying to solve real issues.
hvasilev
·3 lata temu·discuss
i honestly didn't read half of this post. i have no interest in engaging into this sort of conversation. have a nice day.
hvasilev
·3 lata temu·discuss
> This is a project which builds firmware for multiple devices and processor architectures, supporting developers running various operating systems locally, and includes support for documentation generation and firmware localization.

exactly the source of the issue. The scope of the project is just preposterous for what it is. I'm not sure what the proportion between boilerplate and actual useful functionality would is, but from the little that I saw it is outrageous.

> Besides, you can always treat a built Docker image as a stable toolchain archive if that's a concern; there's little reason to assume that it won't work 12 years into the future as

I heavily disagree with this assumption and the rest of the assumptions related to the stability of the dependencies.
hvasilev
·3 lata temu·discuss
I don't think it is a "me" issue. On the contrary, I think this project has a lot of issues similar to what contemporary modern web development has. Generally firmware engineers know not to do this kind of stuff, since we have a highly derivative work that spans across decades.

I'll give you an example - because of chip shortages I had to redo a couple of devices and their firmware for the past few years. I had to dig into code that hasn't been touched for 12 years on more than one occasions and I had no issue compiling it more than a decade later. The reason why is because people weren't trying to be fancy and they kept the dependencies to a minimum.

Imagine if you stop pumping oxygen into this project for a month...
hvasilev
·3 lata temu·discuss
Well, it is unmaintainable, because maintaining this set of dependencies is absurd for what this firmware is and it is unreadable, because I tried to read it and lost interest in a few minutes later, because of all the bullsh*t.
hvasilev
·3 lata temu·discuss
because it is unreadable and unmaintainable with all of these dependencies. Even in the description it says that it spiraled out of control at some point

"Originally conceived as an alternative firmware for the TS100, this firmware has evolved into a complex soldering iron control firmware."
hvasilev
·3 lata temu·discuss
Oh wow, that is really bad. Like 10 different technologies and at least 2 programming languages for a soldering iron firmware.
hvasilev
·3 lata temu·discuss
You open source guys need to figure out a way to charge people for the value that you provide. You ran the experiment for a very long time and it looks like this "beggar" model really doesn't seem to be working for the vast majority of your projects.

Take money, don't wait for people to give you money for the free value that you provide.
hvasilev
·3 lata temu·discuss
Yea, me too. I don't really understand people that say that clean code is easier to understand.
hvasilev
·4 lata temu·discuss
The way that mammals learn is by play. Seems like the more the abstract something is, the harder it is to play with it, since it is by definition non-concrete. In order to play with these concepts, you have to do that in your head, which is non-intuitive (or maybe even impossible) for a large part of the population.
hvasilev
·4 lata temu·discuss
How did you know it was in Webkit or Blink? What was your thought process that lead you to this conclusion? Was it prior knowledge?
hvasilev
·4 lata temu·discuss
There are just so many of these fun AI-related concepts that seem really cool and you get the chill that they will take over the world some day.

Decades pass and you realize they either have little to no application or are incredibly niche :(

Too bad that "solution in a search of a problem" is generally bad approach to problem-solving. I wish our industry was more fun as a whole.
hvasilev
·4 lata temu·discuss
The issue with the world view that "a job is an exchange of services" is that it is unsustainable. The sheer time magnitude of work - 40 hours a week + commute for many decades dictates that it is a very significant portion of your life. On top of that on a day-to-day basis the timeslot itself between 9/5 is the best part of the day for the vast majority of people.

Seems like in order to have a deeply fulfilling life you need to have a job that you like and find it deeply meaningful. There is just no way around it, it is too much.
hvasilev
·5 lat temu·discuss
the story of browsing through code: "I'm wasting my time reading this", until you read the 3 lines that actually matter.
hvasilev
·5 lat temu·discuss
The essence is: https://github.com/google/log4jscanner/blob/main/jar/jar.go

this is the decision logic:

func (c *checker) bad() bool {

return (c.hasLookupClass && c.hasOldJndiManagerConstructor) || (c.hasLookupClass && c.seenJndiManagerClass && !c.isAtLeastTwoDotSixteen)

}
hvasilev
·5 lat temu·discuss
The point is that you should not emulate anyone and that you should be yourself, no matter what society tells you.
hvasilev
·5 lat temu·discuss
Kids come with different personalities right out of the box, ask anyone with more than one kid. You've bought into some liberal propaganda that people are fully malleable objects. We are not. It is a combination between nature and nurture. I personally believe it is significantly more "nature" in this case.

There are certain aspects of your personality, like "arrogance", that the society might find unacceptable. That doesn't mean that they are bad for you or that you can change them.