is there a reason you went with telegram and not slack or discord? i was thinking that it could open up a broader channel for communicating with your assistant. i understand you're also just building more of a poc, but curious if you'd thought about that. great work btw :)
Anyone want to hazard a guess about the likelihood of us ever getting high quality versions of these commercials? Are many of these likely lost to time, or is it possible that high quality copies exist somewhere?
In short, it depends on how it was shot. If using analog film, then it's likely a higher quality scan can be made (assuming you can find the footage), but if it's digital sensors that were used, then the quality is what it is.
So for 35mm film which a lot of movies and high-end commercials use, then you can most likely get a good 4K version from that. So if you know how it was shot, you could try to figure out how likely it is :)
$ git clone git@github.com:Sahilb315/AtomixDB.git
Cloning into 'AtomixDB'...
$ cd AtomixDB/
$ go run .
Welcome to AtomixDB
Available Commands:
CREATE - Create a new table
INSERT - Add a record to a table
DELETE - Delete a record from a table
GET - Retrieve a record from a table
UPDATE - Update a record in a table
BEGIN - Begin new transaction
COMMIT - Commit transaction
ABORT - Rollback transaction
EXIT - Exit the program
> create
Enter table name: foo
Enter column names (comma-separated): bar,baz
Enter column types (comma-separated as numbers): 1,2
Enter indexes (format: col1+col2,col3, ... or leave empty):
Table 'foo' created successfully.
> get
Enter table name: foo
Select query type:
1. Index lookup (primary/secondary key)
2. Range query
3. Column filter
Enter choice (1, 2 or 3):
I do find the source to be well organized and quite readable. Especially if you runs the commands in the cli and then trace how they are each implemented.
Do you know if it's possible to get this working on macos? I believe Tailscale uses gvisor's tcp/ip lib (as their netstack lib) on macos for certain things.
No network namespaces, but the various Network Extension APIs might be able to do this, though it's difficult. RocketSim (I'm unaffiliated, just an example) recently added a simulator-specific network throttle (to replace the system-wide Network Link Conditioner Apple ships) using a content filter extension. Even though this is a system-wide API, it seems you can limit its impact to a single app. And it seemed to properly compose with Proxyman and Cloudflare's Warp VPN at the same time, so perhaps it could be a general solution.
Yeah learning about gVisor was one of the most fun parts of this project. The gVisor devs are incredibly helpful. If you look through the gvisor-users mailing list you'll see me asking them various questions about this and they really helped out a bunch with some incredibly thorough answers.
Outstanding! Congratulations on writing such a wonderful project!
I have a suggestion regarding the "How It Works" section. When reading it, I initially thought you had implemented your TCP/IP stack from scratch. Later, I discovered through the comments that you're using gVisor. Perhaps you might consider mentioning this explicitly in the documentation?
As an interesting side note, gVisor's netstack is also used in the Tailscale client, enabling features like connecting a machine to multiple tailnets without requiring special privileges.
~/go/src/github.com/voidDB/voidDB git:(master)
$ go run github.com/tailscale/depaware@latest
github.com/voidDB/voidDB dependencies: (generated by github.com/tailscale/depaware)
github.com/voidDB/voidDB/common from github.com/voidDB/voidDB+
github.com/voidDB/voidDB/cursor from github.com/voidDB/voidDB
github.com/voidDB/voidDB/free from github.com/voidDB/voidDB
github.com/voidDB/voidDB/node from github.com/voidDB/voidDB+
github.com/voidDB/voidDB/reader from github.com/voidDB/voidDB
golang.org/x/sys/unix from github.com/voidDB/voidDB+
bytes from github.com/voidDB/voidDB+
cmp from internal/fmtsort+
encoding/binary from github.com/voidDB/voidDB/common+
errors from bytes+
D fmt from golang.org/x/sys/unix
hash from github.com/voidDB/voidDB+
hash/fnv from github.com/voidDB/voidDB
io from bytes+
io/fs from internal/filepathlite+
iter from reflect+
math from encoding/binary+
math/bits from golang.org/x/sys/unix+
os from fmt+
path from io/fs
reflect from encoding/binary+
slices from encoding/binary+
LD sort from golang.org/x/sys/unix
strconv from fmt+
LD strings from golang.org/x/sys/unix
sync from encoding/binary+
sync/atomic from internal/bisect+
syscall from github.com/voidDB/voidDB/cursor+
time from github.com/voidDB/voidDB+
unicode from bytes+
W unicode/utf16 from internal/poll+
unicode/utf8 from bytes+
It doesn't take much to split your go.mod file require blocks into needed dependencies, and test dependencies, with a few comments explaining the why of each dependency.
Go tooling will preserve your go.mod comments and structure.
You can also consider moving integration tests and benchmarks to another module in the same repo.
Hey, I worked on this. I am the person who advocated for us not to use git and build our own thing instead. Happy to answer any questions or expound on my hopes and regrets!
Yes we do not have that. Hopefully if you're using Val Town you're getting a lot of out the interface and platform and this is just another api surface. If you want to pull your code and files and run them elsewhere that should be easy. Git sync to and from projects should be straightforward enough to implement (once we ship the public API) and our runtime is easy enough to replicate by running things with Deno directly.
This was definitely an "easier for us to run, good for the product experience" decision. Freedom comes elsewhere :)
This is so awesome. I've wanted something like this where you could visit all scales of the universe from tiny atoms, to the galaxy, to the broader universe. Does something like that exist in some form?
I think https://spaceengine.org/ fills part of your request. I haven't played it but I've watched videos about it and it looks like you can jump anywhere around the observable universe and look at any object you want.
It worked for me last year, and entertained a few of us for a good while. Been meaning to revisit.
Side note: Elite Dangerous is on offer at the moment and that has been the only thing to give me that unnerving sense of scale you get when travelling between systems.
Tests are usually embarrassingly parallel. Instead of creating one test db (app_test) create many (app_test_0, app_test_1, ...). Run tests in many threads/processes, db per thread.
This works in a lot of cases. In some cases this might not address your bottleneck.
Also someone should write a real, performant, in-memory postgres storage driver. Then we can all be happy (with pg at least).
https://www.val.town/x/geoffreylitt/stevensDemo/code/importe...
I think it would be pretty easy to extend to support other types of inbound email.
Also I work for Val Town, happy to answer any questions.
reply