umbrella
sequential-uuids
umbrella | sequential-uuids | |
---|---|---|
4 | 7 | |
3,224 | 296 | |
1.0% | - | |
9.9 | 3.6 | |
7 days ago | 7 months ago | |
TypeScript | C | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
umbrella
- I made a typescript library similar to Immer but ~20 times faster and with zero-runtime freezing
-
Image from my current generative art project "Harmonium"
OP here. This project is implemented in Typescript and Svelte, with support from the thi.ng libraries.
-
Ask HN: What was the biggest contributor to your happiness in the past year?
This a is a really wide field. Basically its starts with one of the standard algorithms, like and l-system, a voronoi diagram, or simple combination of sin and cos to draw shapes. Have a look at thi-ng[1], just as example for a library that has implemented a lot of this kind of algorithms. The next step in my process is to think about how to destroy this forms as most of them are used a lot in this field and become boring. Using perlin noise as input to arguments of the algorithms is one way to do this. The other part is to make most all of the input variables easily changeable as most of the time the whole process is like writing the program and then spend a lot of time adapt the parameters until you get some interesting output. So in the end I have a small Svelte app, using Svelte only cause the data binding for the inputs so simple, which has tons of sliders that renders an SVG that can be saved in the end.
[1]https://github.com/thi-ng/umbrella
-
Timeflake: 128-bit, roughly-ordered, URL-safe UUIDs
@thi.ng/ksuid https://github.com/thi-ng/umbrella/tree/develop/packages/ksu...
sequential-uuids
-
Choosing a Postgres Primary Key
Disclaimer: not a dba so my terms might not be appropriate
I’ve seen uuid4 which replaces the first 4 bytes with a timestamp. It was mentioned to me that this strategy allows postgres to write at the end of the index instead of arbitrarily on disk. I also presume it means it has some decent sorting.
[inspiration](https://github.com/tvondra/sequential-uuids/blob/master/sequ...)
-
Install extensions from PGDG repo to YugabyteDB - example with sequential_uuids
yum install -y git git clone https://github.com/tvondra/sequential-uuids.git ysqlsh -h $(hostname) --echo-all --quiet \ --file sequential-uuids/test/sql/uuids.sql | sdiff sequential-uuids/test/expected/uuids.out -
-
Using a custom GUID (not provided by Postgres). What to keep in mind for performance gains
If you want to keep locality when using uuids, use a different generation function such as: https://github.com/tvondra/sequential-uuids
-
Any significant performance disadvantage to using uuid as primary key?
OP, have a pretty large B2B SAAS app with all UUID pkeys, and the largest issues i'd say with UUID compared to bigint are: size, index bloat, WAL bloat, much slower GIST indexes (for exclusion constraints). You can work around some of the issues (WAL bloat, index bloat) by using a better behaved UUID generation function: https://github.com/tvondra/sequential-uuids You can get something similar for your app side of things if you need to generate UUIDs there.
-
Timeflake: 128-bit, roughly-ordered, URL-safe UUIDs
Use this: https://github.com/tvondra/sequential-uuids
If you cannot install extensions, I just wrote a PL/PGSQL implementation for the time-based generator I could share.
-
UUID vs int for primary key - Which is better (with auto increment), especially if you are scared you'll run out of ids?
Just fyi, UUID in Postgres is not 40 text chars, it's 16 bytes binary and has a canonical text representation. Also, you don't need to use UUIDv4, I am quite partial to: https://github.com/tvondra/sequential-uuids
What are some alternatives?
webhl - WebHL is a fork of hlviewer.js that uses the File System Access API to load game assets direct from your computer rather than from a server.
Pomelo.EntityFrameworkCore.MySql - Entity Framework Core provider for MySQL and MariaDB built on top of MySqlConnector
timeflake - Timeflake is a 128-bit, roughly-ordered, URL-safe UUID.
mynode - The easiest way to run Bitcoin and Lightning!
pg_tuid - generate_tuid function for postgres
kafka-ui - Open-Source Web UI for Apache Kafka Management
id128 - 128-bit id generation in multiple formats
client-zip - A client-side streaming ZIP generator
uulid.go - ULID-UUID compatibility library for generating and parsing ULIDs.
pg_tle - Framework for building trusted language extensions for PostgreSQL