HNHacker News
TopNewBestAskShowJobs

zarathustreal

145 karma · joined December 17, 2019

submissionscomments
zarathustreal··on Ruby: A great language for shell scripts
Just because you don’t see it doesn’t mean it’s not the most-used shell scripting language. For example, when I was at AWS it was used for templating in something like 90% of all pipeline tooling
zarathustreal··on ShotSpotter does not reduce gun violence or increase clearance rates
100% this, with the modern redefinition of the word “racist” a lot of statistical correlation is being being reinterpreted as causation and people in control are attempting to manually “fix” systems that aren’t broken. It’s gotten so bad that crime itself is no longer punished in the name of “reparations”
zarathustreal··on Spending 3 months investigating a 7-year old bug and fixing it in 1 line of code
I think the problem is that in order to evaluate something you need to have equal understanding of it as the person that made it. This is a problem in every field, everywhere. In fact it’s the reason pure democracy isn’t the optimal strategy for governance - the masses aren’t really qualified to make decisions.
zarathustreal··on More evidence against the "ecocide" theory of Easter Island
But.. that guy said “genus”!
zarathustreal··on NPM and NodeJS should do more to make ES Modules easy to use
My assertion is that, having been made aware of the pitfalls of effectful imports, continuing to argue for using them requires a willful misunderstanding.

People outside the context of this discussion could simply be uninformed, they don’t need to be willfully misunderstanding.

zarathustreal··on Why we no longer use LangChain for building our AI agents
Wait how does this relate to TypeScript?
zarathustreal··on NPM and NodeJS should do more to make ES Modules easy to use
As a matter of fact _module_ is a pure theoretical concept. The fact that we’re discussing at least two different implementations of modules alone proves that it’s at least more abstract than _file_. It’s certainly not strictly related to Node, plenty of languages (and their associated runtimes, if applicable) have modules. Further, it wouldn’t matter what a specific implementation of modules within Node is, nor would 14 years of experience with Node.

You’re missing the point entirely, perhaps intentionally? If you’re using modules you’re already using a “build step” - code that runs before your actual code. Your “perfectly working paradigm” is only such if you intentionally disregard the core reason for modules: modularity.

zarathustreal··on NPM and NodeJS should do more to make ES Modules easy to use
You wouldn’t, because it’s a misunderstanding of what “module” means and how they work. It’s like saying “maybe I need this file” - there is no maybe, you either need it (to run conditional logic upon) or you don’t.

You get an approximation of conditionally loading a module by simply converting everything to ESM and enabling tree-shaking. When module loading has no side effects this is simple to do. If you’re unsure at build time whether you will call a certain function from a certain module and that’s the reason you’re conditionally loading it, again enable ESM and tree shaking and import the function and call it conditionally except do so at runtime. You’ll only get exactly what you need to avoid the bloat of the whole module and your dependency graph will also be more correct as a bonus!

zarathustreal··on Why "Structure and Interpretation of Computer Programs" matters (2011)
Thanks for speaking up. At this point no one is really presenting any evidence so it’s a necessary evil to offset the Lisp slander even if it is, like the parent comment, not much more than an appeal to authority / popularity.

Syntax is absolutely neither natural nor unnatural, by nature, to humans, but it’s a fact that fewer symbols to memorize is easier than more symbols to memorize. The problem is a failure to launch. Some people never truly understand that it’s not just syntax, it’s semantics. Data is code, code is data. That’s why it all looks the same. This artificial distinction in “C-like languages” is more harmful for the enlightened programmer than it is helpful. Unfortunately not everyone that reads SICP experiences enlightenment the first time (or ever, I guess?)

zarathustreal··on Why "Structure and Interpretation of Computer Programs" matters (2011)
I agree with most of what you said here but I want to emphasize that this is not necessarily a good outcome. Fitting the brains of corporate devs is not a metric to measure if your goal is to make the best tool for the job - the majority of corporate devs are extremely mediocre at their job even with a language that they’re not scared of.

All that to say, I completely emphatically agree with the original comment. The world would have been so much better off with Scheme as the language of the web.

zarathustreal··on Do not try to be the smartest in the room; try to be the kindest
Yea I’d like to see some actual studies on that assertion, it has been the opposite in my experience.

Technical competence requires a certain amount of self-discipline and sacrifice. You don’t become competent just by doing the same things over and over, so experience alone is not competence. With self-discipline comes a healthy habit of self-motivation. You don’t need your employer “making you” feel valued, you derive a sense of accomplishment from doing good work. You know you’re valued because you’re literally valued (in dollars).

zarathustreal··on A most profound video game: a good cognitive aid for research
This typically comes with Lisp or Haskell, prolog is an interesting case!
zarathustreal··on Perplexity AI is lying about their user agent
I know it’s obvious but I’m going to state it anyway just for emphasis:

Do not put anything on the public-facing internet that you don’t intend for people to use freely. You’re literally providing a free download. That’s the nature of the web and it always has been.

zarathustreal··on Effect – Build robust apps in TypeScript
You’re making two invalid assumptions that break down when dealing with a functional paradigm.

1. You don’t have breakpoints, your code doesn’t run. Your code is the thing that configures the code that runs. Your code is descriptive.

2. Nothing unexpected can happen. That’s the point of pure functions and a strong type system. You don’t need to know the exact values that flow through at runtime to know that your code functions as written.

Granted, if you write code that doesn’t make sense then it will produce* results that don’t make sense. If you don’t fully understand the problem you’re trying to solve no programming paradigm can save you from creating bugs.

zarathustreal··on Group chats rule the world
If you’re 10+ years late to discover it, best to leave that article in the drafts
zarathustreal··on Elixir 1.17 released: set-theoretic types in patterns, durations, OTP 27
Sub-types can be represented with algebraic types so I’m not sure that’s necessarily true, for example an abstract class with subclasses can be represented as a sum type
zarathustreal··on Elixir 1.17 released: set-theoretic types in patterns, durations, OTP 27
Yea I never bought this assertion from the TS team, saying “given the trade-offs at the time” is the same as saying “we’re already backed into a corner by previous decisions” - the decision(s) may have been intentional at each step but the design itself probably was not. Given the choice of sound or unsound, considering that the purpose of a type system is to give certain guarantees, a type system design must always choose soundness to be considered reasonable.

That being said, I don’t think it’s possible to “pull off soundness without compromising expressivity” because the expressivity in this context is self-referential types which equate to non-terminating unification logic (and thus, unsoundness). Still, I’m excited to see what they do with this type system! Reminds me a bit of Shen’s type system.

zarathustreal··on Ship Something Every Day
> 1. Develop a system where you can turn codepaths on and off with a toggle.

> All are good practices…

I beg to differ on this point actually. It’s very difficult to get right and leads to subtle bugs (or even potential security vulnerabilities). It also pollutes the codebase with conditional statements that aren’t related to the business logic and makes it harder to read. Avoid feature flags.

zarathustreal··on The Weird Nerd comes with trade-offs
Seems to me like enabling further segregating people would be a negative thing. Eventually groups become so isolated that conflict is inevitable
zarathustreal··on Garbage collect your technical debt (2021)
I would argue that there is the option to look at all the requirements at once. The disconnect with your mental model is in the definition of the piece of software being designed. You’re considering all iterations to be the same piece of software, despite ostensibly having different sets of features and functionality (e.g the ones added over time).

Consider the alternative perspective that each new feature actually makes it a new piece of software. You were able to fully design and specify the original piece up front, thus avoiding technical debt on that piece of software.

zarathustreal··on The aging U.S. power grid is about to get a jolt
Lines? Why? Why aren’t we taking better advantage of wireless power transmission? Seriously, Tesla planned to construct Wardenclyffe Tower back in 1901!
zarathustreal··on I was denied tenure – how do I cope?
Look brother you’re not winning any points by implying that you’d be the guy to invent A* on the spot. Without formal education you’re almost certainly not even dealing with concepts like breadth-first search, trees, or nodes, so no, a ton of people will not be inventing it on the spot.

Edit: most people don’t even think about recursion as a possibility until taught about it in a formal setting, and even then it’s typically a struggle to understand. Even using a queue, that’s a data structure that a person with a task to do isn’t likely to spend the time to invent on the spot.

zarathustreal··on Instruction Sets Should Be Free: The Case for RISC-V [pdf] (2014)
Well not only that but choices about these kinds of things are often made by people that don’t necessarily know what options they have. Marketing is a big part of what choices people make because they don’t know what they don’t know
zarathustreal··on I was denied tenure – how do I cope?
Colleges focus on teaching things that require study to learn, things that you won’t really understand without intentionally analyzing them. Algorithms and data structures are great examples. An individual is never going to invent A* on the spot without an education, for example.

Learning how to use the tools of the trade, e.g. OS, IDE, version control, etc, is not something you need to spend $50k/yr to have a Ph. D. Teach you, it’s something you pick up on your own.

A lot of younger adults these days seem to think that college entitles you to a well-paying job, possibly due to the messaging from previous generation(s), but that is not (and never has been) the case.

zarathustreal··on Show HN: Brioche – A new Nix-like package manager
Yes it does? Purely functional, lazily evaluated.. declarative emphasis. Yea all it’s missing is strong typing, which is why I said it’s similar, not the same.
zarathustreal··on Show HN: Brioche – A new Nix-like package manager
I’ve generally found the most interesting things are the ones that don’t feel intuitive at first. Familiarity bias can really hold you back. The language semantics of Nix are basically Haskell’s which.. is probably the One True Way to write correct code if we’re honest with ourselves.
zarathustreal··on Algorithms Interviews: Theory vs. Practice (2020)
Echoing my sibling commenters here, I’d love to hear more about this situation. Usually “inlining” and algorithmic complexity are juxtaposed as orthogonal types of optimization, with algorithmic optimization typically even being the reasoning for why the level of abstraction doesn’t matter very much. You typically get a much better speed up from going from O(n^2) to O(n) algorithms than from implementing e.g. Duff’s device, etc
zarathustreal··on Oldest largest German Minecraft server shut down and open sourced everything
Is 1.12 not more modern than 1.9?
zarathustreal··on Why YC went to DC
You’re absolutely getting paid because you’re valuable, otherwise Google wouldn’t need to buy you out to enact their anti-competitive behavior. You wouldn’t be a threat in the first place.
zarathustreal··on Why YC went to DC
If a dozen people worked hard enough to gain the knowledge that gets them “rest and vest” at Google, they deserve it. Monetary reward is the reason we’re working at all. It’s not for the greater good. You’re certainly not going to convince anyone to give the government power to deny them their right to take the money and run
← PreviousPage 4 of 13Next →