HN user

nicolewhite

317 karma

Software Engineer at Autoblocks

https://docs.autoblocks.ai/

Posts12
Comments100
View on HN

From that repo:

Exact version pinning — specifying precise versions (1.0.0, ==1.0.0, =1.0.0, = 5.31.0) rather than ranges (^, ~>, >=) in package manifests. Ranges allow any version satisfying the constraint to be resolved at install time; exact pins mean only one version is ever valid.

My understanding is that pinning the dependency within the manifest isn't the mechanism that prevents the version from changing across installs -- it's the lockfile that accomplishes this.

TRUNCATE TABLE <new_table> CASCADE;

Ouch. DELETE FROM <new_table> is what they wanted here.

Somewhat related, and this wouldn't have saved them since they were using TRUNCATE instead of DELETE, but I always use ON DELETE RESTRICT instead of ON DELETE CASCADE when setting up foreign keys. I'd rather be slightly inconvenienced on the rare occasion I'm hard-deleting data and have to be really explicit about what I want to delete rather than inadvertently allow a "convenience" like ON DELETE CASCADE to delete my data for me.

Hey all, I'm Nicole. I've been working on the prompt management platform at Autoblocks and I'm looking forward to getting your thoughts on our approach.

We basically think that prompt management boils down to a schema management problem. How do you enable UI-based prompt development for non-technical team members while not sacrificing on developer experience? How do you allow updates from a UI while guaranteeing the changes won't break your currently-running application?

Our solution was heavily influenced by these excellent tools we already use in day to day development:

* Dopt's versioning flows: https://docs.dopt.com/platform/versioning-flows/

* PlanetScale's safe migrations: https://planetscale.com/docs/concepts/safe-migrations

* Prisma's autogenerated, type-safe ORM: https://www.prisma.io/docs/orm/prisma-client/setup-and-confi...

Thanks in advance for any feedback!

Pretty neat!

I have a question about how you intend to deal with LLM applications where the output is more creative, e.g. an app where the user input is something like "write me a story about X" and the LLM app is using a higher temperature to get more creative responses. In these cases I don't think it's possible to represent the ideal output as a single string -- it would need to be a more complicated schema, like a list of constraints for the output, e.g. that it contains certain substrings.

TIA!

No buying books on Google Play. All the books I read will come from the library this year.

Get back into a weight lifting program.

Revive some of my open source projects that I've abandoned.

I enjoyed his comments on Tensorflow.

It’s really bad to use. There’s so much hype around it, but the number of people who are actually using it to build real things that make a difference is probably very low.

I wonder how many data scientists out there are actually developing Tensorflow models for a mission-critical project at work. I'm not. I have used Tensorflow successfully within my personal projects, but I've yet to need it for anything "real."

I'm not sure I'd choose the word synergy. Every time they move something from contrib into the main package, it seems to create a lot of redundancy. Now we have tf.keras.utils.to_categorical and tf.feature_column.categorical_column_with_vocabulary_list.

Interesting that they're sticking with the Note brand. You'd think they'd want to distance themselves from that as people have already associated Note with phones that catch on fire. But perhaps their target market is focused enough that misinformation won't be an issue.

I'm a big fan of the smart replies in Allo and Inbox so this was a fun read. I did something similar in grad school where I and some other students manually labeled a handful of sentences and then used graph-based semi-supervised learning to label the rest for the purposes of using it as a training dataset. It would be neat to hear what technology they used for the graph-based learning; perhaps Cayley? We used Python's igraph at the time but it was pretty slow. It would also be interesting to try this in Neo4j.

One of the aspects of data munging is visualization, which is much easier in R with ggplot. Matplotlib is painful and always requires more than double the code to accomplish the same thing.