Tuesday, November 14, 2023

Show HN: Bitemporal, Binary JSON Database System and Event Store https://ift.tt/wrsHh2Y

Show HN: Bitemporal, Binary JSON Database System and Event Store I had already posted the project a couple of years ago, and it gained some interest, but a lot of stuff has been done since then, especially regarding performance, a completely new JSON store, a REST API, various internals refactored, an improved JSONiq based query engine allowing updates, implementing set-oriented join optimizations, a now already dated web UI, a new Kotlin based CLI, a Python and TypeScript client to ease the use of Sirix... First prototypes from a precursor stem already from 2005. So, what is it all about? The system uses ideas from ZFS (a keyed index trie, storing checksums in parent pages...) and Git (a persistent index structure that shares unchanged pages between revisions) but appends new tree roots on each commit [1][2]. It is a JSON DBS. The system stores fine granular JSON nodes. Thus, there's almost no limit to the structure and size of an object. Objects can be arbitrarily nested, and updates are cheap. On a high level, it supports space-efficient snapshots, tracking changes by an author / optional commit messages, time travel queries, reverting to previous revisions (while all revisions in-between still exist for audits...), or retrieving the changes of whole (sub)trees. On the one hand, it's, thus, a bitemporal DBS, but on the other hand, it can be used as a simple event store. It stores the state after an event or a change occurs and tracks the changes. Thus, an entity, a node in the JSON structure, can be updated to new values and eventually be removed while the history is easily retrievable, or we can easily revert to a previous state. The system assigns a unique ID to each new node, which never changes and is never reused (even after the deletion of the node). Thus, the system stores the state after the change/event and the event itself (the change event). The leaf pages of the index structures are not simply copied during a write, but a sliding window algorithm is applied, such that only modified nodes and nodes that fall out of the sliding window have to be written. A predefined window length is configurable. The system avoids write-peaks, which would occur due to full snapshots and having to read a long chain of incremental changes in between. Thus, it's best suited for fast flash drives with fast random reads and sequential writes. Data is never overwritten thus, audit trails are given for free. Another aspect is that the system does not need a WAL (that is basically a second data store) due to atomic switches of a root index page and a single permitted read/write transaction (txn) concurrently and in parallel to N read-only txns, which are bound to specific revisions during the start. Reads do not involve any locks.[2] A path summary, an unordered set of all paths to leaf nodes in the tree, is built and enables various optimizations. Furthermore, a rolling hash is optionally built, whereas all ancestor node hashes are adapted during inserts. A dated Jupyter notebook with some examples can be found in [3], and overall documentation in [4]. The query engine[5] Brackit is retargetable (a couple of interfaces and rewrite rules have to be implemented for DB systems) and especially finds implicit joins and applies known algorithms from the relational DB systems world to optimize joins and aggregate functions due to set-oriented processing of the operators.[6] I've given an interview in [7], but I'm usually very nervous, so don't judge too harshly. Give it a try, and happy coding! Kind regards Johannes [1] https://sirix.io | https://ift.tt/NWeIfyT [2] https://ift.tt/8aq1vcY [3] https://ift.tt/flOinPC [4] https://sirix.io/docs/ [5] http://brackit.io [6] https://ift.tt/w28EZFl [7] https://youtu.be/Ee-5ruydgqo?si=Ift73d49w84RJWb2 November 13, 2023 at 11:21PM

Monday, November 13, 2023

Show HN: Interactive AI Resume/LinkedIn for better networking/job hunting https://ift.tt/D1BOrZk

Show HN: Interactive AI Resume/LinkedIn for better networking/job hunting Generally, I found resumes too vague to get to know anyone (hence why no one networks with them), professional blogs too low ROI, walking up to people unscalable, and cold messaging fairly low success-rate. I wanted the 'marketing tool' of networking to get myself out there. Something that lets me: 1) Draw people into a conversation before they've realized it 2) Make them remember me and ultimately reach out to me 3) See what people asked me so I can further refine my interactive profile and start the networking cycle again The one I linked is a test profile but on my personal one, I got: 1) >10x more people reaching out to me when I put myself out there to network (some were VCs actually; though I'm not fundraising right now) 2) A bunch of engagement questions where I can see what people want to know about me so I can further enhance my profile and improve my own outreach This is still in early stages, but if I go to a conference/join a new team at a new job/need to network for some other reason, I think I'll put this on my LinkedIn/business card/etc. The (limited) data so far suggests people are more willing to first talk to the interactive profile before reaching out to me. I guess that makes sense, it's less commitment than emailing me. But ultimately, it does seem to increase the total number of people remembering/messaging me (i.e. improving the professional networking funnel as it were). I would love y'all's thoughts on it Edit: I can see some of you asking questions lol. Way more fun than LinkedIn's 'This random person looked at your profile but what did they want to know? We have no idea'. https://ift.tt/OSARnEf November 13, 2023 at 06:14AM

Show HN: LoRA Tune LLM in Lightning on GPU https://ift.tt/gwjka1L

Show HN: LoRA Tune LLM in Lightning on GPU https://ift.tt/vfqziRj November 12, 2023 at 09:37PM

Show HN: Open-source digital stylus with six degrees of freedom https://ift.tt/7Gi6m3r

Show HN: Open-source digital stylus with six degrees of freedom https://ift.tt/Y0K4wWN November 13, 2023 at 02:18AM

Show HN: Docker Swarm Multi Tenant Proxy https://ift.tt/lF8apD5

Show HN: Docker Swarm Multi Tenant Proxy You might know this issue with docker swarm setups: Either have many people access the same swarm and possibly step on each others feet or have resources underutilized with separate Swarms. This project aims to alleviate this. We implement a Docker Socket Proxy which is intended to give a tenant specific view onto a Docker Swarm. It exposes all necessary operations to deploy stacks with all features to Docker Swarm as well as management endpoints for volumes, secrets, configs, networks. Every proxy can be configured with a unique label to give a tenant specific view onto the swarm. This way you can have multiple teams of people collaborate on the same cluster. This is done by filtering all requests on resource labels to check whether the resources are "owned" by the proxy/tenant. This projects uses Node.js and Express for the server, along with the dockerode (and docker-modem) library to interact with Docker. https://ift.tt/0jiKv62 November 13, 2023 at 12:45AM

Sunday, November 12, 2023

Show HN: AllGPTs.co – world largest custom GPT directory https://ift.tt/KEdAgxC

Show HN: AllGPTs.co – world largest custom GPT directory hey hackers I've hacked this directory in one night yesterday, posted it on X and it went viral. Got 4600 custom GPTs sumbitted by the makers. I've reviewed and approved 310 GPTs, adding more as we speak. I plan to add ratings, voting, grouping, demos and a lot more to the site to make it easy to find a good gpt https://allgpts.co/ November 12, 2023 at 01:56AM

Show HN: Free Website Style Guides https://ift.tt/xb7a4NT

Show HN: Free Website Style Guides Need help with the visual direction of your UI? View or download 50 style guides for inspiration! Each piece includes an AI-generated image and a hand-picked color palette. https://ift.tt/2VvULNx November 11, 2023 at 11:42PM

Show HN: Do You Know RGB? https://ift.tt/t8kUpbO

Show HN: Do You Know RGB? https://ift.tt/OWhvmMT June 24, 2025 at 01:49PM