I’ve had every week off from Swift Bundle Index this week as I wanted to do some work on this article. Curated (the e-mail service I take advantage of) has had some issues lately, and I’m investigating what it will take to self-host my publication 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 believe it’ll find yourself once more quickly.
You gained’t see massive modifications when it transitions again to being self-hosted, so why am I speaking about it? Properly, it’s been an ideal 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 “fascinated with” earlier than the mannequin provides a response. One of many issues it’s good at is writing code, so I assumed I’d give it the duty of turning the structured JSON export of my Curated information into. I spent about ten minutes writing a reasonably prolonged specification and included a pattern of the JSON information.
It spent about two minutes “pondering” 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 couple of minutes 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’d have written.
I additionally checked out Cursor this week, as I stated I’d, and it’s good. I’ve extra to write down than what I’ve room for right here, however I can’t go with out mentioning one function that appears like a step ahead for inline completion. All AI code completion I’ve used up to now has been additive, suggesting both a line or block of code. Cursor gives that, after all, however it might probably additionally provide to edit different components of a file that may not be a part of the identical contiguous block of code.
I’ll clarify. Think about you’ve some inline logic in a variable project, and also you resolve that it’s getting too complicated for that line. You may resolve 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 under 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 could sound easy, however it’s hanging when it occurs.
That clarification won’t 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 might probably additionally mix two recommendations 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 sort of completion or edit it’ll counsel, however 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 might probably do, so there’s no motive to not give it a strive in case you’re on this space.
This function is what felt like a giant step ahead to me over line-at-a-time and block-of-code recommendations. It felt like having true help slightly than completion or era.
I might speak extra about how Cursor additionally takes benefit of recent LLM fashions having such big context home windows by utilizing all open tabs as context. It might probably even embrace each file in your repository in case you select. I’ll go away that for one more time, although. That is already too lengthy.
We reside in attention-grabbing occasions.