Have you tried Scoped context packages? Basically for each task, I create a .md file that includes relevant file paths, the purpose of the task, key dependencies, a clear plan of action, and a test strategy. It’s like a mini local design doc. I found that it helps ground implementation and stabilizes the output of the agents.
I read this suggestion a lot. “Make clear steps, a clear plan of action.” Which I get. But then instead of having an LLM flail away at it could we give to an actual developer? It seems like we’ve finally realized that clear specs makes dev work much easier for LLMs. But the same is true for a human. The human will ask more clarifying questions and not hallucinate. The llm will role the dice and pick a path. Maybe we as devs would just rather talk with machines.
Yes, but the difference is that an LLM produces the result instantly, whereas a human might take hours or days.
So if you can get the spec right, and the LLM+agent harness is good enough, you can move much, much faster. It's not always true to the same degree, obviously.
Getting the spec right, and knowing what tasks to use it on -- that's the hard part that people are grappling with, in most contexts.
I'm using it to help me build what I want and learn how. It being incorrect and needing questioning isn't that bad, so long as you ARE questioning it. It has brought up so many concepts, parameters, etc that would be difficult to find and learn alone. Documentation can often be very difficult to parse. Llms make it easier.
ASP.NET Core comes with its own built-in web server named Kestrel, which is very highly optimized. On most projects, I use it totally bare-metal, though I figure most run it behind a reverse proxy like nginx or yarp.
YARP is (Yet Another) Reverse Proxy, and Aspire is in a similar space to Testcontainers - i.e. orchestration of multiple executables for test (and other things). No it's not an alternative to Kestrel.
These are three different tools that do different things. The point is that these are better examples of the "modern MS ASP Infra" space than "nginx, iis".
> A web server should never be directly exposed to the Internet
That's what web servers are made for, no? Like Apache, Nginx etc. I mean, you could certainly put HAProxy in front but you'd need a good reason to do this.
More often than not, for any serious application backend, you probably want a web application firewall (WAF) in front of it and SSL termination upstream of the web server.
This would have been assembly code, probably 6809 or 68000 system I had back then. 6809 would have required dumping intermediate data to a disk. I don't recall just when I first got a hard-disk, which would probably have been a massive 10 megabytes in size.
And yes, I saw that transition. I learned to program using Fortran IV and IBM 11/30 assembly in the mid-70s, using punched cards. Wrote a MIXAL assembler and simulator for the minicomputer at the local college around 1976; it was about 7000 punched cards in length, all assembly. Got a Commodore PET in 1978, moved on to SS-50 based 6809 and 68008 systems in the late 70s/early 80s, with a serial terminal.
You just reminded me of when I bought my first PC in 1990 and one of my former professors, on learning I had bought it with a 200MB hard drive declared that I was crazy to buy such a large hard drive because I would never fill it up.¹
One of my more embarrassing memories (technical ones, anyway) was having an argument with a couple of friends in college in 1988/89. I felt that sure, an internal hard drive is a nice feature, but swapping floppies wasn't all that terrible.
You could have made a significant amount of money betting against my technical predictions over the last few decades.
Once upon a time, we crammed HTML, CSS, and JavaScript into single PHP files—easy and straightforward. But then, someone said, "Separate presentation from logic!" So we did.
Then someone said, "Sending HTML is old news; let's send JSON on the back end and reassemble everything with JavaScript." So we did.
Then someone said, "Why don't we put everything in a single file and call them components?" So we did.
Then someone said, "Why don't we push those components from the server instead?" So we did
I got my Mac Studio with M1 Ultra and 128g of RAM specifically for this reason, in case I needed it. Definitely not using its full capacities for any other purpose, though it's nice to be able to run 10 instances of a big data-grinding program at once, overnight.
Still waiting on 'consumer' AI training facilities I can practically use: it's a bit arcane, not up to speed on that. I can generate text up to Llama 70b if I'm patient, and generate images and sort-of-video quite easily.
The Macbook Pro is this, if you don't mind its relatively slow speed. It's costly, but a 92GB Macbook Pro is still by far the cheapest way to get that much VRAM.
A device like the Rabbit r1 looks promising. You don't technically need to run inference on the same device. We're still a few years away from making this efficient and small enough to run locally, but there is a lot of potential for the next generation of AI assistants to revolutionize how computing is done, and have mass market appeal.
I'm surprised that Apple hasn't jumped on this yet. All the building blocks are in place to make a revolutionary device possible. It just needs to be very polished, and have great UX, which is what Apple typically excels at.
Good point. And when you talk about a few years away this made me think about the ENIAC. A modern household typically consumes far less electricity than ENIAC.
Now our smartphones are 1000 times more powerful than the ENIAC and use less power.
Do you think Apple likes to jump on things? Apple usually tries not to be first, but definitely likes to polish .
Really!
I always imagine a system:
Composed of 5 specialized computers.
One for each category: audio, text, video, image.
One analyzer to coordinate everything.
This would be my API that I could access with mobile devices.
Here's a scenario:
I could talk to my phone about ideas, in the background it would create apps prototypes, create posters, make music based on something i whistle, teach me ask i ask question about a topic.
For the currently used architectures, it doesn't make sense to have 5 specialized, dedicated computers as the "AI" text processing and "AI" video processing and the others use very similar architectures and there's no benefit from specialization, the "video-specialized" hardware would be just as good at processing text and vice versa.
A processor has different cores, Computers may have several hard-drives, 4 sticks of ram.
Each component can run in parallel.for example, if a long video processing task is underway and your text generation component is idle, it could assist.
Should the audio component fail , only that specific part would be affected.
“There’s no point in personal computing consumer device, the compute can just be on a mainframe.”
Apologize for the allergic reaction to running something on somebody else’s computer. As much as I appreciate our connected world, I prefer my data and compute local and private.
There’s few things in this world that infuriate me on a daily basis more than a slow or lost internet connection.
If you are serious enough about gen AI to want to run it locally you can just get a good video card. Otherwise, you'll save time and money by just using a service/collab, I promise you that there will be ones that offer privacy and uncontrolled generation.
Maybe in a utopian future, there will be a universal seamless ABI for most dynamic and static languages such that rewriting will be both unnecessary and undesirable.