so... anywhere in the world?
1,417 karma · joined November 1, 2013
[ my public key: https://keybase.io/schneidmaster; my proof: https://keybase.io/schneidmaster/sigs/42F6vHEpWZf-fXGXQSJaCk4h9Lx8DDTyBKkGpaFLIpM ]
so... anywhere in the world?
I would be shocked if GitHub's lawyers didn't argue that using copyrighted material as training data for an AI model is highly transformative. There may be snippets available from the original but they are completely divorced from their original context and virtually unrecognizable unless they happen to be famous like the Quake inverse square root algorithm. And I think GitHub's lawyers would also argue that Copilot's use does not affect the _original_ market -- e.g. it does not hurt Quake's sales if their algorithm is anonymously used in a probably totally unrelated codebase.
Your counterexample would probably fail both tests -- it's not transformative use if your software hands out complete pieces of copyrighted software, and it would definitely affect the market if Copilot gave me the entire source code of Quake for my own game.
[0]: https://fairuse.stanford.edu/overview/fair-use/four-factors
[0]: https://slate.com/technology/2016/08/in-copyright-law-comput...
I think the point though is that security warnings need to be actionable and high-signal. Experienced folks are absolutely tuning out the security warnings on npm install, because 95% of the warnings are like the examples in the post -- I know they don't affect me/my use case and there's nothing I can do about them anyway. The effect is only compounded for novices who run "npx create-react-app hello-world" and immediately see something incomprehensible about a vulnerability in react-scripts > webpack > watchpack > watchpack-chokidar2 > chokidar > glob-parent. It either discourages them from programming entirely or it teaches them to ignore security warnings.
I don't disagree with your overall point -- e.g. we should absolutely teach novices "here's what XSS is and how to avoid it" early and often. But if a dependency manager is going to surface a vulnerability alert every time I install dependencies, the alerts should be 1) high severity (to the point where I should actually stop using the package if I am unable to patch/upgrade) or 2) at least immediately actionable. The current npm audit implementation does the opposite -- 95% of the alerts are totally irrelevant to my actual security posture, and the suggested command to upgrade a vulnerable dependency is unreliable and can actually downgrade to an older, even-less-secure version (!).
- https://packagecontrol.io/packages/SublimeLinter
- https://packagecontrol.io/packages/SublimeLinter-eslint
- https://packagecontrol.io/packages/JsPrettier
- https://packagecontrol.io/packages/LSP
- https://packagecontrol.io/packages/LSP-typescript
If you're on macos, I also recommend creating a file at ~/Library/Application Support/Sublime Text 3/Packages/User/Default (OSX).sublime-mousemap with the following contents -- this adds a cmd+click "go to definition" shortcut that's also equivalent to what VS Code provides. (I guess the path should be "Sublime Text 4" now? but after upgrading, the config at the "Sublime Text 3" path still works for me.)
[ { "button": "button1", "count": 1, "modifiers": ["super"], "press_command": "drag_select", "command": "lsp_symbol_definition" } ]
I've tried to switch to VS Code a few times -- language features (especially TypeScript) tend to work better out-of-the-box but it still isn't close in terms of performance. If you want IDE-like features to "just work" then VS Code is definitely the best choice, but the persistent (albeit sleight) input lag drives me up the wall.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
* A senior product manager with experience serving the needs of product and/or engineering teams.
Aha! is profitable, you can work from anywhere in North or South America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings, and click through to a specific job for our simple application form. Our job postings also have a lot more detail about the team, our values, and what you'd be doing day-to-day.
It's also worth noting that ADHD often comes with other mental health comorbidities; in my case, it exacerbated my depression. I would often fall into a spiral of inability to focus -> feeling bad about myself for not completing work that I was generally more than capable of doing -> even less ability to focus. I still have depression, but starting on ADHD medication all-but-removed my most frequent trigger.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
* A senior product manager with experience serving the needs of product and/or engineering teams.
Aha! is profitable, you can work from anywhere in North or South America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings, and click through to a specific job for our simple application form. Our job postings also have a lot more detail about the team, our values, and what you'd be doing day-to-day.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
* A senior product manager with experience serving the needs of product and/or engineering teams.
Aha! is profitable, you can work from anywhere in North or South America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings, and click through to a specific job for our simple application form. Our job postings also have a lot more detail about the team, our values, and what you'd be doing day-to-day.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
Aha! is profitable, you can work from anywhere in North or South America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings?category..., and click through to a specific job for our simple application form. Our job postings also have a lot more detail about the team, our values, and what you'd be doing day-to-day.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
Aha! is profitable, you can work from anywhere in North or South America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings?category..., and click through to a specific job for our simple application form. Our job postings also have a lot more detail about the team, our values, and what you'd be doing day-to-day.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
Aha! is profitable, you can work from anywhere in North America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings?category..., and click through to a specific job for our simple application form. Our job postings also have a lot more detail about the team, our values, and what you'd be doing day-to-day.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
Aha! is profitable, you can work from anywhere in North America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings?category..., and click through to a specific job for our simple application form. Our job postings also have a lot more detail about the team, our values, and what you'd be doing day-to-day.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
Aha! is profitable, you can work from anywhere in North America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings?category..., and click through to a specific job for our simple application form.
1. The JavaScript standard library is much more sparse than what you get out-of-the-box with ruby or many other languages. The existence of lodash is evidence of this in itself. The infamous left-pad fiasco would never have happened if JavaScript's native String had an equivalent to ruby's String#rjust. This part of the problem is significantly improving with time -- for example, node.js 8.0 and up do have a native string pad function, padStart. However, especially for tooling libraries, using the latest native JS features means dropping support for semi-recent versions of node, and there's also generally a lot of inertia.
2. npm and yarn allow you to install multiple versions of the same package. If I have dependencies A and B, which both require different major versions of dependency C, npm and yarn will both happily install multiple copies of C. With ruby/bundler this is an error and you have to work out how to tweak your dependencies so they're all happy with the same version range. I suspect this architectural choice is largely a consequence of #1 -- especially in the earlier days of npm, getting all your dependencies on the same version of a commonly used helper library would have been nightmarish. And there are benefits to this approach; I have certainly spent long hours trying to upgrade ruby gems with version conflicts. But it results in a lot more bloat almost by default.
To answer your original question -- I don't know that anything in particular is intentionally being done. I do think we're heading in the right direction and things will be much better in a few years as packages slowly move towards new native language features rather than helper libraries. I also just don't think this is of critical importance at the end of the day. If you add up the brain cycles that I've ever spent worrying about 100MB of hard drive space, it's almost certainly less than what I've spent typing this comment :)
[0]: https://devcenter.heroku.com/articles/slug-compiler#ignoring...
- babel transpiles ES6/7+ JavaScript syntax to the least-common-denominator of the browsers you designate as supported by your application
- core-js provides implementations of features that are not supported in older browsers -- things like array methods that cannot simply be transpiled
- caniuse-lite is a database of supported browser features to determine what needs to be transpiled and when
This toolchain allows developers to write code with the latest language features (which usually results in simpler, more elegant code) while seamlessly supporting legacy browsers as needed. If you decide to drop support for an older browser, you can simply remove it from your browserslist instead of going through all your code to figure out which hacks you put in just for that browser. It takes a ton of cycles out of development googling "can I use feature X in browser Y".
Prior to Rails 6, asset precompilation was powered by Sprockets by default. Sprockets still bundled many analogous libraries, just hidden in ruby gems instead of node_modules. For example, if you want to use SASS then you need a library that compiles SASS to CSS -- whether it's node-sass on your list or the sassc gem.
As noted in other comments, very little of this code is actually loaded in the frontend by end users.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
Aha! is profitable, you can work from anywhere in North America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings?category..., and click through to a specific job for our simple application form.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
Aha! is profitable, you can work from anywhere in North America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings?category..., and click through to a specific job for our simple application form.
Aha! is the #1 tool for product managers to plan strategy and roadmaps. We serve more than 300,000 users worldwide.
We are looking for:
* Experienced full-stack engineers to work on the Aha! product. Our application is built in Ruby on Rails, with some React on the frontend for rich client-side experiences.
* Security engineers, with hands-on Rails development experience plus experience with compliance projects, security policy development, or other security initiatives.
Aha! is profitable, you can work from anywhere in North America, and we offer excellent benefits. We use our own product to manage our work (which is especially rewarding) and we deploy continuously.
Our entire team is remote - in North American timezones so we can collaborate during the work day.
You can view open engineering positions at https://www.aha.io/company/careers/current-openings?category..., and click through to a specific job for our simple application form.