It takes a lot more work to keep performance good in a large project than just letting it degrade.
3,026 karma · joined June 10, 2021
It takes a lot more work to keep performance good in a large project than just letting it degrade.
Also I learned to program in Turbo C and Turbo Pascal with its debugger and nothing comes faster (at least nothing single threaded)
Casey points out that many of the lessons they came to were so obvious that it just became how it is done that no one even remembers it was done in any other way. In the talk the laments it makes it really hard to track down who originally came up with these ideas.
It is quite sneaky how LLM output can sometimes bypass human verification like that. No one is going around checking every single line change in auto-generated files. Someone could easily sneak a malicious dependency in there through some online tutorial that the LLM searches for.
iterm2 on mac also has a similar mode, but it is a bit finicky to set it up (it is really hidden in the settings).
gdf() { git diff '*'$1'*'; }
gdf fileName (doesn't need full file name)
gdf folderName (all files in a folder)And then you have whatever the hell OpenAPI uses.
Although I am more afraid of the middle manager who hides information than the CEO who doesn't act on it.
1) Local inference means more general GPUs and less ASIC hardware. Only big companies can push ASIC because of the software required, meanwhile nVidia owns cuda which is the standard.
2) Local is less resource-efficient per chip (chips remaining idle much more, meaning more chips required).
3) End-customers have less bargaining power compared to hyper-scalers. Although this might change if customer hardware start behaving more like phones (SoC with everything packed in), but even then the SoC makers will likely still have less bargaining power than hyper-scalers. But then nVidia could potentially make the whole SoC too.
So overall local-inference users = higher profit margins for nvidia. They much rather have every business on the globe buy one nvidia rack (or every laptop have a beefy GPU) than have 5-10 hyperscalers buy a few hundred thousand.
CEO is, of course, partly responsible for having that middle management in the first place. However if I were the CEO I don't even know how I would be able to smell the rats with the top-down view that CEOs have (they can't be in every meeting and decision making of their subordinates).
If you have the right underlings (or inherit them) you might actually not need to do anything at all and succeed. Then again if you have the wrong underlings (or inherit them) then your job is hella-difficult.
Our free tier is time-limited but we still look at all tickets even from non-paying customers (in the hopes of converting them). A 1-hour intervention from a customer rep can result in a multi-year paying customer.
I am from Brazil and it is not unusual for companies to operate only within certain states because of this. Even though Brazil is a single country with a single language and mostly federal rules about things, there is still enough variance of laws from one state to another to cause problems.
Then you hear about Canada which has tariffs between its own provinces, but not to the US. Meaning some products are cheaper across the US border than across a province border. Figuring out how much to pay in taxes alone can be a blocker...
This is not an EU-only problem, any large single market will have friction in its internal divisions. It tends to be worse in the EU because the countries have a lot more sovereignty though (enforcement agencies tend to be local, not federal for example).
The main problem is that people maintaining the OS build for your hardware is the same people making the hardware. If legislation forced to divest both into separate companies the support would last far, far longer.
Like just a few years ago it became impossible to run 32bit windows which effectively killed all OS software updates for hardware older than ~2005. Most application software followed.
On the Linux they just dropped support for the 486 and older versions of the kernel will likely still get security updates for a while.
Fortunately this kind of refactor is a lot easier nowadays with LLMs, but the QA is not improved and often what takes the longest.
You message support, some real person reads and gets back to you within a day.
Half of the point of an stdlib is that it is a single shared lib so you don't run into the all-too-common problem of having multiple versions of the same lib in your program. Either you bundle all the stdlib multiple times OR you need to rely heavily on complex dead-code-removal which increases startup time (and still have a lot of duplicated binary blob from different versions peer dependencies).
This is why stdlibs almost never _actually_ remove stuff or make breaking changes, because that would make existing programs not compile on the new version of the compiler. This is why in Java you can still call Date methods that resemble the ones present in Javascript (.getYear(), .getMonth(), etc). They were deprecated in JDK1.1 (1997) and still available, today. The alternative is to go through a python3 moment at some point.
Semver the stdlib makes it not that much better than using 3rd party packages.
But to be honest I doubt most people who use AI for PR descriptions even bother changing anything.
I was very lucky to be able to be engaged in that sort of environment, but at least 50% of my class was not.
It is unfortunate but it has a weird side-effect, the system really promotes ambitious people and endurance. Most of my "top-tier" uni class was middle class, the rich kids couldn't/wouldn't keep up. But that 50% of my high-school class really get the shaft in that system, but the ones that survived it were highly regarded in the job market by the degree alone.
I think you can create git plugins to show diffs in different formats for certain file-types (or even open a 3rd party tool to let you visualize it), but it is a lot of work. Most productivity tools don't have anything of the sort.
If you just care about storing the file git LFS + manual text-changelog per binary file works well, but it is annoying to get everyone on your team to work in this workflow (heck, getting everyone and all automation scripts to install LFS is already a pain).
When the LLM can verify its own output by running static analysis they produce better results. They also seem to understand type definitions and avoid going to the source which, in theory, should reduce context size.