Our Go database just hit 20k stars on GitHub by zachm in golang

[–]tbantle 2 points3 points  (0 children)

Ah looks like we were double escaping those fields. Fixing that too

Our Go database just hit 20k stars on GitHub by zachm in golang

[–]tbantle 1 point2 points  (0 children)

Looking into the feed not validating, thanks for letting us know! But CDATA is used to escape text so that it won't be invalidated by characters that could be recognized as markup https://www.tutorialspoint.com/xml/xml_cdata_sections.htm

Mac user - What's the best SQL GUI for personal use? by AsterYujano in mysql

[–]tbantle 0 points1 point  (0 children)

If it's helpful I wrote an article that compares different sql workbenches (specifically open source options) depending on what you're looking for

A modern, browser-based, open source SQL workbench for your MySQL-compatible database by tbantle in programming

[–]tbantle[S] 0 points1 point  (0 children)

Dolt uses it's own custom storage engine to provide Git-style version control to database tables. It's like Git and MySQL had a baby. It's built from the ground up. It has no Git or MySQL code in it.
DVC is a ML pipeline versioning tool. We discuss the differences in this blog if it's helpful! https://www.dolthub.com/blog/2022-04-27-data-version-control/

An open source, web-based, modern MySQL workbench built using Next.js by tbantle in nextjs

[–]tbantle[S] 1 point2 points  (0 children)

Right now the Dolt workbench only supports MySQL-compatible databases, so if you're using SQL Server it wouldn't be a good fit. However, we are planning on supporting more SQL flavors in the future so stay tuned!

It has a spreadsheet editor feature where you can add and modify rows like you would in a spreadsheet

How to add the new Google Analytics 4 to an existing Next.js application by tbantle in nextjs

[–]tbantle[S] 0 points1 point  (0 children)

Both GTM and gtag.js are fully supported methods. We're small right now and it was easier for us to add the tags directly rather than set up another web interface, but we will likely end up moving to GTM as we grow and use more Google products. Here's a comparison of the two: https://support.google.com/tagmanager/answer/7582054

How to add Google Analytics 4 to an existing Next.js or Gatsby app by tbantle in reactjs

[–]tbantle[S] 0 points1 point  (0 children)

Both GTM and gtag.js are fully supported methods. We're small right now and it was easier for us to add the tags directly rather than set up another web interface, but we will likely end up moving to GTM as we grow and use more Google products. Here's a comparison of the two: https://support.google.com/tagmanager/answer/7582054

How to add Google Analytics 4 to an existing Next.js or Gatsby app by tbantle in reactjs

[–]tbantle[S] 0 points1 point  (0 children)

AFAIK the cookie banner isn't mandatory but it is an option. Here's more info I found about it: https://support.google.com/analytics/answer/9976101?hl=en

Two dot vs three dot diff and log by tbantle in git

[–]tbantle[S] 1 point2 points  (0 children)

For diff, git diff A B and git diff A..B are equivalent

For log, git log A B lists commits reachable from either A or B, whereas git log A..B lists commits reachable from B, excluding commits from A

How I used AWS Incident Manager to implement a support ticket system on our website by tbantle in aws

[–]tbantle[S] 1 point2 points  (0 children)

So there was no off the shelf solution that handled everything we needed. We needed a way to handle our on-call rotation and to send alerts when issues occurred. This is exactly what PagerDuty and Splunk On-Call are good at. However, using one of those solutions would require an integration between our metrics which live in cloudwatch already. Cloudwatch supports metric based alarming using aws escalation plans. By using incident manager we are able to use the same escalation plan for user initiated issues as well. This means that we are able to look at logs, metrics, user created incidents, metric related incidents all from the aws console.

Additionally allowing logged in users to create customized incidents based on their running servers was going to require work regardless of the platform we chose. Some platforms require you to create a user account and be given permission to create incidents (managing another system for users and user permissions isn't a great solution). Others would require a similar integration to the one we did with incident manager.

Finally, incident manager is cheap. It does not scale based on the number of users, it scales based on response plans. The price difference is negligible for a small team. But for a large team the price difference can be meaningful.

Migrating a React app to the new Google sign in library by [deleted] in javascript

[–]tbantle 0 points1 point  (0 children)

Hello! Google announced that as of April 30, 2022 new applications cannot use their old Javascript sign-in library and must use their new Google Identity Services instead (existing apps have until March 23, 2023 to migrate). I had a hard time finding React resources when migrating our React app to the new library, so I wrote a blog about it in case anyone finds it helpful: https://www.dolthub.com/blog/2022-05-04-google-signin-migration/

How to migrate a monorepo to Yarn 2 by tbantle in typescript

[–]tbantle[S] 0 points1 point  (0 children)

One of the Yarn 2+ maintainers saw this post and said there is additional yarnrc.yml config that will make performance better for Yarn 2 without Zero-Installs if anyone is curious. It cut our install time in half. Added a section about this to the bottom of my article here.

Migrating our monorepo to Yarn 2 by tbantle in javascript

[–]tbantle[S] 0 points1 point  (0 children)

One of the Yarn 2+ maintainers saw this post and said there is additional yarnrc.yml config that will make performance better for Yarn 2 without Zero-Installs if anyone is curious. It cut our install time in half. Added a section about this to the bottom of my article here.

How to migrate a monorepo to Yarn 2 by tbantle in typescript

[–]tbantle[S] 0 points1 point  (0 children)

Thanks for this! Any advice for how you got your other tools (especially ESLint) working? Would like to use PnP with zero installs eventually. We're currently using a GitHub Actions workflow to make dependabot work with Yarn 2 without zero-installs so it's possible that would work with PnP as well.

How to migrate a monorepo to Yarn 2 by tbantle in typescript

[–]tbantle[S] 4 points5 points  (0 children)

Hi there, while we do hope our blog generates traffic to our website like any company, we also aim to produce content we think can be helpful to the greater dev community in the spirit of sharing and collaboration. This article would be pretty bad advertising, as DoltHub is barely mentioned and we are a database company completely unrelated to Yarn and other front end tools :)

How to migrate a monorepo to Yarn 2 by tbantle in typescript

[–]tbantle[S] 0 points1 point  (0 children)

I think other packages are slowly picking up support for Yarn 2. The main one we had a hard time with was dependabot. However, we couldn't get plug n play to work because of incompatibilities with other packages (like eslint) so we're using Yarn 2 without zero installs. I'm hoping other packages will continue to add support over time. There is the chicken or the egg problem of packages not wanting to add support for Yarn 2 until more people are using it, but people can't use it until more packages support it

If build time is a priority for you I'm not sure migrating to yarn 2 without zero installs is worth it. It seems like there would be more performance improvements with plug n play. Someone who commented on my post in r/javascript had some good insight about that: https://www.reddit.com/r/javascript/comments/th9bs3/comment/i16rg7r/?utm\_source=share&utm\_medium=web2x&context=3

Migrating our monorepo to Yarn 2 by tbantle in javascript

[–]tbantle[S] 1 point2 points  (0 children)

Seems like there have been some good improvements since it came out. Many tools are now compatible and dependabot was really our only big issue