Hacker Newsnew | past | comments | ask | show | jobs | submit | aphexairlines's commentslogin


If your requirements.in referenced numpy before this release, then doesn't your requirements.txt already reference a specific 1.x version?


Not a Thinkpad and not Intel, but that already seems attainable with the asus G14 (AMD 8945HS + NVIDIA 4070) or the upcoming asus zenbook S16 (AMD HX 370).


I've never seen a large company with more L7+ engineers than L7+ managers. Usually it's a ratio of drastically more managers hired/promoted into those levels than engineers, and some orgs don't have any engineers in those levels at all.


Take a look at https://github.com/xonsh/xonsh/issues before deciding to abandon the devil you know.

I prefer sticking with bash where necessary (where a script is the only thing that will reasonably work), and elsewhere using a programming language with testing, type checking, modularity, and compilation into something with zero or minimal runtime dependencies.


This is a JavaScript keyword and there's nothing TypeScript-specific in the blog post.


I get you, but it's both a TypeScript and JavaScript feature, and more importantly TypeScript is including it in its next official release whereas it is still not part of ECMAScript (though close, at stage 3).

So speaking specifically of a new TypeScript feature is justified here.


typescript is introducing it in a polyfill, which is going to be how a lot of people will first get to use the feature


How does the polyfill work? How does TS know the object can be disposed?


You're telling it through the `using` statement?


I mean the implementation of the polyfill, in JS


That has the same answer. I'm not sure what you're looking for.

The polyfill adds code at the start of the block to make an array, and code at the end of the block to call dispose on everything in the array. Then the transpiler just has to turn "using" into an append.

There's some other details to handle exceptions but that's the basics of how it works.

Edited: The code, polyfill or native, doesn't really know if things can be disposed. It just tries to do it, because you told it to. If the variable is null it skips it, otherwise it asserts that the dispose function exists at using time, and blindly runs it at the end of block.


Thanks, that's exactly what I was wondering.

What happens if you save a reference to (or return, etc.) the variable you declared with "using"? Then it will end up automatically disposed, but from the programmers point of view it should still be usable (not disposed).


> from the programmers point of view it should still be usable (not disposed)

Then that programmer had their hopes too high. The basic "using" keyword is not for variables you want to move between scopes. Javascript doesn't do reference counting.

For saving/returning, you need to use explicit instances of DisposableStack and .move()


The article doesn't hide that, and there is something TS-specific: the information that it (that JavaScript version) will come in v5.2.

I think it's fair enough if you're coming from a TS perspective, writing TS (specifically) or blogging about it. Obviously there's overlap.


Is this similar to people moving away from giving their code as open source when companies take it, repackage, and sell it while the authors get nothing?


Most open source licences don't even prohibit selling apps that contain open source code.


A lot of open source licenses demand that if the licensed code is included in a derivative work, that new work has to carry the same license. GitHub Copilot is straightforwardly violating these terms in many cases, and I hope the pending class action lawsuit sets statutory boundaries around the inclusion of data in a training set, and that those boundaries are retroactive.


Github copilot needs to be updated then. To filter code by licence or something. In many cases using GPL code is perfectly fine.


Looks like fake reviews here too: https://news.ycombinator.com/item?id=34968995


They don't have to hire people who already know Zig -- just people capable of learning it.


It's a different criteria, not necessary a plus. It's domain knowledge based hiring, knowing Zig can be worse than not knowing Zig but with experience of writing low level stuff (especially things from scratch requires protocols implementation experience)


You don't need to run jlink yourself to avoid shipping the entire JDK. Here's a java19 runtime docker image at 62MB: https://hub.docker.com/_/eclipse-temurin/tags?page=1&name=19...

Not customizing the runtime per build or per app also potentially helps reuse of docker image layers across your container registries and clusters.


You're adding the whole of Docker as a dependency if you do that.

Not everyone wants that.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: