Live data from Hacker News

Advice to my younger self: become allergic to the churn

lambdaisland.com

141–150 of 221 posts

Re: Advice to my younger self: become allergic to the churn

#141

The first thing that came to mind when I read the opening paragraphs regarding churn is developing mobile applications. I find myself losing a day or two just to get my apps to compile if I ever go a month or two without spending any time on them. It's brutal how quickly things can break and dependencies need to be updated. Is it possible to do modern mobile dev without churn (coming from a situation where my clients…

Cutting out dependencies helps. If you just have to worry about Google and Apple the changes are usually slower and documented.

Re: Advice to my younger self: become allergic to the churn

#142

Earlier quoted context omitted.

Until your CI pipeline causes churn because something doesn’t work anymore....

Your CI pipeline should be simple, relatively unchanging and therefore trusted. When shit breaks (and it will) you should get a signal much earlier. This signal should strongly relate to your most recent changes -- and your changes should be small because you commit early and often, right?

Some of us deal with the fact that the people maintaining the CI solution keep breaking our pipelines without any code changes in of our scope of responsibility. This becomes the churn as you push empty commits trying to troubleshoot why your builds don't work and it takes >1 day to get things working again. Most hosted CI solutions are entirely inappropriate for some organization's business goals and requirements, so you end up dealing with it being a B or C tier service in an organization that is changing.

I would suggest that there are definitely some organizations where you can't trust the pipeline to work reliably, and the cost of figuring out what went wrong becomes the churn.

Re: Advice to my younger self: become allergic to the churn

#143

Earlier quoted context omitted.

Having started with the MS stack way back in the old days of their Hegemony, I always felt like make was doing something that I shouldn't have to think about. I'm curious about VSCode - why that, and not Visual Studio or another full-featured IDE? I've gone from IDE to vim and back, and I have to admit with great sadness that the various little gimmicks an IDE provides (without hand-configuring the damn thing!) make…

I have developed c++ with vim and visual studio for a couple decades. I recently made the switch to vscode from vim and i like it even better than studio. Its snappier and it integrates with my vim workflow well so i dont have to do either or.

I don't see the benefit of switch from sublime to vscode. What am I missing? Does vscode offer something different?

Re: Advice to my younger self: become allergic to the churn

#144

Earlier quoted context omitted.

I did Objective C for about 1-2 years, and a bit of java over the years. But no, not really.

Fair enough. Thank you for taking the time to a question that, in retrospect, sounds antagonistic (apologies for that).

Nah, I didn't take it that way

Re: Advice to my younger self: become allergic to the churn

#145
post #102
post #86

Earlier quoted context omitted.

I have a similar set of experiences but have a feeling that it's at least partly down to the sheer number of people writing Javascript and the very public nature of much of that code that so much of it is a mess. I don't think there's anything inherent in JS that make is produce messy code other than the fact that it's easy for amateurs to get results (thanks to the fact it runs in a browser and there's lots of easil…

what killed Javascript for me (and I think many others) is that there is no idiomatic way of writing Javascript. There is no "javascript"-y way of doing things (unless you count callback hell). I'm not saying that a language should only offer one approach to a problem, but there should be general guardrails and guidelines. A shared vocabulary. None of that exists in modern JS

The same criticism (which is a valid one) is doubly true of Lisp, but Lisp doesn't take half the flak that JavaScript does.

Re: Advice to my younger self: become allergic to the churn

#146

Earlier quoted context omitted.

There are many many organizations and Institutes that aren't the man. You don't have to work for a soulless corporation. You can do work that helps the greater good of humanity.

The company I work for certainly does overall good, and treats its employees well, but it's still a larger for-profit company, and the work I do isn't exactly my choice. I figure working for anyone other than myself will always have this air of being for "the man".

It seems like you independently came to the conclusion of Naval's thesis.

https://twitter.com/naval/status/1002103497725173760?lang=en

Maybe you are looking for sovereignty, where you do things not because you "have" to but because you "choose" to.

The idea your touching upon might be bigger than just your "day job" but how you spend your time and what decides that.

Re: Advice to my younger self: become allergic to the churn

#147
post #90
post #75

Earlier quoted context omitted.

Common make fail #1 The project you landed on has been using some souped-up supermake with a ton of features (which were used with wild abandon) and some subtly different semantics for (say) macro expansion and variable assignment (and these are really difficult to determine the dependency scope of). The build system has grown to a recursively gnarly Turing-complete mess. So when you go to update the tooling, you fin…

Sorry i do not understand, is this post a joke? I mean it literally because of the "never happened to me", then the multimillion line makefile doesn't sound real but then you do write something that sounds like someone who has issues with makefiles could say (build order, though common that isn't make's fault - at least as much as isn't a programming language's fault that a program has bugs). So i'm not sure how to t…

The multi-million line makefile is real. I wish it hadn't been. That was a terrible time.

I guess my point is that make doesn't scale, and unavoidably gets messy over time as each project solves the same problems over and over in different, buggy ways.

make solves problems you get early in a project ("let's get this handful of files automatically built") and doesn't even try to address issues of modern software development, like build parallelism and dependency management. Its facilities for debugging problems are laughable.

Re: Advice to my younger self: become allergic to the churn

#148
post #103
post #75

Earlier quoted context omitted.

Common make fail #1 The project you landed on has been using some souped-up supermake with a ton of features (which were used with wild abandon) and some subtly different semantics for (say) macro expansion and variable assignment (and these are really difficult to determine the dependency scope of). The build system has grown to a recursively gnarly Turing-complete mess. So when you go to update the tooling, you fin…

> multi-million-line makefiles Is this a copypasta?

Nope.

Re: Advice to my younger self: become allergic to the churn

#149
post #102
post #86

Earlier quoted context omitted.

I have a similar set of experiences but have a feeling that it's at least partly down to the sheer number of people writing Javascript and the very public nature of much of that code that so much of it is a mess. I don't think there's anything inherent in JS that make is produce messy code other than the fact that it's easy for amateurs to get results (thanks to the fact it runs in a browser and there's lots of easil…

what killed Javascript for me (and I think many others) is that there is no idiomatic way of writing Javascript. There is no "javascript"-y way of doing things (unless you count callback hell). I'm not saying that a language should only offer one approach to a problem, but there should be general guardrails and guidelines. A shared vocabulary. None of that exists in modern JS

"Standard" [1] and "Airbnb" [2] seem to capture some amount of sensible guidelines. Adding Prettier [3] gets you something akin to gofmt, and adopting standard eslint rules [4] can help too.

[1] https://standardjs.com/ [2] https://github.com/airbnb/javascript [3] https://prettier.io/ [4] https://eslint.org/

Re: Advice to my younger self: become allergic to the churn

#150
post #86

Earlier quoted context omitted.

I have a similar set of experiences but have a feeling that it's at least partly down to the sheer number of people writing Javascript and the very public nature of much of that code that so much of it is a mess. I don't think there's anything inherent in JS that make is produce messy code other than the fact that it's easy for amateurs to get results (thanks to the fact it runs in a browser and there's lots of easil…

I'm a JS dev and I love it, but JavaScript is to programming languages what the electric guitar is to musical instruments. It's the thing that attracts a lot of new beginners who may or may not be interested in the more serious theory that makes programming what it is.

Agreed. I've gotten to where I don't like it as much for really large projects - TypeScript helps a bunch but is inherently limited by aspects of JS itself - but there is absolutely no language I'd rather sketch something out in.

The core data types actually strike a really excellent balance between representing the major distinct paradigms (named collections, unnamed collections, strings, numbers, booleans) while giving you maximum flexibility within them. Its standard library - array functions in particular - has become very mature. FP and OOP concepts are both quite well-supported, and doing async stuff (client or server or otherwise) with promises just smashes every other language I've used in terms of ergonomics.

Much of the above could be said about Python too, but regardless.

Post reply on HN