I’ve had every week off from Swift Bundle Index this week as I wanted to do some work on this text. Curated (the e-mail service I exploit) has had some issues lately, and I’m investigating what it will take to self-host my e-newsletter once more. It began over 13 years in the past as a easy Jekyll web site with an ESP account, and that’s the place I feel it’ll find yourself once more quickly.
You gained’t see huge adjustments when it transitions again to being self-hosted, so why am I speaking about it? Effectively, it’s been an excellent probability for me to play with a few AI developer instruments that I’ve been which means to take a look at.
First, OpenAI’s new o1-preview mannequin that you just may need examine. It’s designed for bigger duties that take extra “serious about” earlier than the mannequin provides a response. One of many issues it’s good at is writing code, so I believed I’d give it the duty of turning the structured JSON export of my Curated knowledge into. I spent about ten minutes writing a reasonably prolonged specification and included a pattern of the JSON knowledge.
It spent about two minutes “considering” after which produced code for me. It ran first time with out errors and did precisely what I requested it to… which is the place the one flaw was. 😂 I spent one other jiffy writing up a bulleted listing of amendments, clarifications, and additions to my authentic spec, and aside from one small blip, I had a working program that did what I wanted. It solely took two prompts and fewer than thirty minutes, and the code was higher than I might have written.
I additionally checked out Cursor this week, as I stated I might, and it’s good. I’ve extra to jot down than what I’ve room for right here, however I can’t go with out mentioning one characteristic that looks like a step ahead for inline completion. All AI code completion I’ve used to date has been additive, suggesting both a line or block of code. Cursor provides that, in fact, however it could actually additionally provide to edit different elements of a file that may not be a part of the identical contiguous block of code.
I’ll clarify. Think about you may have some inline logic in a variable project, and also you determine that it’s getting too complicated for that line. You would possibly determine to make a brand new intermediate variable on the road above. Cursor will discover that, and as you declare the brand new variable with partial logic from the road beneath it gained’t solely full the road you’re typing, but additionally provide to take away the now duplicate code from its authentic location. It might sound easy, nevertheless it’s hanging when it occurs.
That clarification may not be tremendous clear, so I made a 20 second demo video which could make clear issues. Cursor carried out that edit in two consecutive presses of Tab, however it could actually additionally mix two ideas like that into one. I assume if it feels assured sufficient that you just’d need them each. It’s not 100% clear to me but the way it decides what kind of completion or edit it’ll counsel, nevertheless it bought it proper time and again as I used it. There’s a free plan that’s greater than able to exhibiting what it could actually do, so there’s no purpose to not give it a strive if you happen to’re on this space.
This characteristic is what felt like an enormous step ahead to me over line-at-a-time and block-of-code ideas. It felt like having true help fairly than completion or technology.
I may discuss extra about how Cursor additionally takes benefit of contemporary LLM fashions having such big context home windows by utilizing all open tabs as context. It will probably even embody each file in your repository if you happen to select. I’ll depart that for one more time, although. That is already too lengthy.
We dwell in attention-grabbing instances.
