Skip to main content

2 posts tagged with "Frontend"

View All Tags

· 5 min read

Vectorized programming

Before, developers were generally limited to making one distinct set of changes at a time.

Change a line of text on a screen.

Bulk-change a line of text everywhere it appears throughout a codebase.

Rename a variable.

Etc.

Now, a developer can confidently make multiple changes at a time with an LLM.

  • "Create a form with name and email fields and a submit button"

  • "Create an API route that parses that form's FormData and saves it to a sqlite database" Copy, paste.

  • "Use fewer conditions to get the same result of this if statement, explaining your reasoning step by step" Copy, paste. Run unit tests. Read explanation while tests run.

Tests pass, and you learned something about boolean algebra!

LLMs running in your IDE (GitHub Copilot, Cursor, etc.) even remove the copy & paste step. Just hit tab, or Ctrl+Enter, or whatever to accept the AI's suggestion.

Imagine you have a file open in a text editor. To the LLM, it's (basically) a one dimensional string. Right now, LLMs can make 1 dimensional changes very effectively.

That's already a huge increase in productivity. Instead of you going through and changing the file character by character, word by word, or small vectors at a time with find and replace and similar tools, the LLM can consistently make multiple additions or change multiple locations in the file for you all at once. This makes vectorized programming several times more useful. Before, we only had find and replace. Now, we have prompts too.

Find and replace does have one over the LLM though - it can change multiple files at once!

But wait, vectors can be n-dimensional...

What happens when the LLM can make changes to multiple files at once?

A ridiculous increase in productivity.

Already, people are impressed with LLMs ability to help developer productivity. It's widely agreed though, that it's a constant multiplier (a lot of people throw around the multiplier 10x... I think it's more like 2x for the median developer, 10x for the beginner, aka "junior," but I hate that term 🤮).

Anywaaays.

What happens then? When we instruct the LLM to change multiple files at once, and it does it well?

Is there cause for developers to worry about their craft then?

hmm.......................

There are many things that the top developers would like to do but don't have the bandwidth to do.

Forgive the masturbatory comment, but as a top developer, the ability to code in multiple dimensions at once sounds awesome. I can do so much more, faster, and better.

And as a wannabe entrepreneur, product development can go so much faster when the code gets written multiple files at a time instead of one. Entire features can be added and updated with just some prompts and unit tests. I can do more with less.

Oh, that's a scary sentence for a job. "I can do more with less".

For now, LLM's are helping developers be more productive at a constant rate. This is resulting in a little faster timelines, cooler products, and greatly advanced skills and learning timelines for beginner programmers. I don't see anyone's jobs going away ever if LLMs stay exactly where they are right now.

But when they're able to reason about and effectively change multiple files at once, cheaply, that's when I'll get be worried. Plumber school and apprenticeship doesn't sound too bad. :)

As AI gets smarter, it's life gets harder

Just as humans start off not knowing much about anything, so are AIs right now. They have to be spoonfed context.

In the future, when AIs are capable of searching and learning on their own, they will learn conflicting pieces of information.

Something I've heard often about successful people I admire is that they are very good at holding conflicting ideas in their head.

For example, some topics which people hold two conflicting beliefs at once:

  1. Topic: Pride a. Belief: Take pride in your work. b. Belief: The success of the team comes over anything else.

  2. Topic: Politeness vs. honesty a. Belief: Praise in public, criticize in private b. Belief: Don't lie

  3. Topic: Quitting vs. Perservering a. Belief: If something is not yielding results quickly enough, you should quit and do something more valuable. Know when to hold 'em and when to fold 'em. b. Belief: Never give up.

Many such cases.

Sometimes, it's easier to tell when to lean more towards one belief vs. the other. But not always.

And the more AI learns, the harder it gets to act, because the more conflicting beliefs they hold.

One potential solution is to keep doing what we're doing: fine-tuning AI's for specific use cases and working alongside them. Similar to how we saw the Boston Dynamics robot dog walking around and worried every physical human task is about to be automated away, we are seeing ChatGPT and thinking every mental human task is about to be automated away. We still don't have cheap, strong, robot arms and bodies that can roll around and do anything. We're still far off from AI that can think and act in contexts as general as the average human.

And, as AI improves, we'll be there by it's side. The "battling context problem" puts a limit on how quickly AI progress can be made, pretty much removing the risk of a "fast takeoff" of AI.

Another solution is making AI more intelligent than humans. Not just like high IQ intelligent, I mean like so intelligent we can no longer comprehend how they think they are so smart. In the future, it seems inevitable this will happen. But how long? And will society have improved enough to where having a lot of money is not life-changing we don't care if AI takes all the jobs?

The "battling context problem" smells kind of like the exploding gradient problem, so I think there is a solution. But how long will finding it take? Who knows.

· One min read

I'm 4 drinks in this Christmas season and feeling Brave

Tonight I'm updating an old RN app of mine from 0.59 to 0.73.

Here's how it's going.

Fri Dec 8, 9:06PM

npx react-native upgrade

nope i give up just going to rebuild this app

Fri Jan 12, 7:32 PM update i gave up entirely lol