High Level
- It would be rad if EdgeDB could someday offer authentication as a service and a client library that runs entirely in the browser, using that authentication service to control access. This could unlock another type of developer who can’t/won’t set up the back end to run the server-side Edge client
- Instance/project/database relationship is not entirely clear. I think:
- Instance defines the version of EdgeDB and is a container for one or more databases
- Database is, of course, where the data lives
- Looks like an instance gets an
edgedbdatabase which is assumed to be the working database - Should the user create other databases and when? Should the user continue working in the
edgedbdatabase only? Put another way, when would the user create another database that they wouldn’t create another instance?
- Looks like an instance gets an
- Project defines which instance we’re working on in a given directory
- I have an intuitive understanding what a project is that doesn’t quite fit the metaphor here
- Verbs like “link” and “unlink” don’t apply to what I intuitively think of as a project
- The “project” feels like it might be two separate things: a link and an instance
- Instead of initializing a project, I could create an instance and pass an option to make the link at the same time
- I could also see allowing the user to approach from the other direction: create a link and initialize the new instance to go along with it
- Doesn’t need to change what’s happening, but it takes the “project” out of the mental model. Gives the user only two things to think about: an instance and a link to that instance
- Could even keep
project initas a handy shorthand, but then don’t offer any other verbs onprojectto avoid muddying the waters. Once the “project” is initialized, all work happens on the instance or the link.
- Syntax for fetching backlinks is unintuitive to me.
- Would be cool to have a graphical query builder as part of the UI. Thinking of something like GraphiQL
General
- (Aside from the weird issue) setup was really smooth. Doesn’t ask a bunch of questions that I don’t know that answers to nor care about. It just does what I expect it to do.
- How do I add ZSH completions? I saw this referenced somewhere, but now I can’t recall where. Can’t find it in the documentation.
- Live feedback in the shell as you’re typing is super helpful
- Got the Vim syntax highlighting installed relatively painlessly
- Appreciate that the ID has been abstracted
- Quickstart references two links (actors, director) in the Movie type, but it seems to contain only one (actors)
- Appreciate that migrations are done in-house by the database
- I have written manual migrations. They are a pain to maintain.
- Sanity checks at the command line on migration is nice
- Does the ID need to be exposed in the data explorer?
- Some anchor links don’t seem to work (like Select — EdgeQL | EdgeDB Docs)
- The note in the backlink documentation refers to
villainswhich is not shown in the query above it. They are instead looking for backlinks incharacters
NextJS Guide
- Uses different project name in
create-next-appcommand:nextjs-todovs.nextjs-blogin the rest of the tutorial. - “Note: adding first migration disables DDL. More info: https://edgedb.com/p/bare_ddl” Would be nice if this destination URL told users what DDL is.
- Would like a better explanation of how the query builder works.
Job info
130k) May top up from time to time Meet with Elvis as soon as possible
2 or 3 weeks for spin-down with my current company
Wild successes
Fly.io
- Likes clear, no BS communication
- Thomas Dashek
- Entertaining
- problems they’re solving, products they use internally
- solves all purposes: educational, shows credibility
- Blogged about their process getting SOC certification, which their customers also have to do