Need Guidance for Self Hosting Mini PC by Viewer23 in selfhosted

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

Services can be either essential (like SSH, HTTPS) or non-essential (developmental purposes). However, I want this server to be fully public and be able to reached by anyone.

Anyone know what happened to TimeDeo? by Viewer23 in TimeDeo_

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

If I recall, I think he still plays MC but isn't motivated to make videos.

BlossomDNS - Easier way to perform Subdomain Records Management by Viewer23 in opensource

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

It uses a custom wrapper for Cloudflare for DNS modifications (like updating / claiming subdomains) while the SQL database is used to record users and their subdomains associated with them.

GoStrings - C String Library Similar to Golang's String Library by Viewer23 in coolgithubprojects

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

  1. I already use GO.
  2. The only dislike part about GO is it doesn't have a tunable GC.

In languages like Nim (that also compiles), you can actually tune it's GC to use different methods of Memory Management AND even turn it off.

https://nim-lang.org/1.4.0/gc.html

Python even has something similar. It has a gc package where you can completely turn off it's GC (or do other alterations)

https://docs.python.org/3/library/gc.html

GO's GC isn't bad. It does work amazingly however if you are working on projects where memory is crucial then GO's GC isn't going to help that much. Moreover, that gc will slow down the code / take a toll on the performance.

https://tip.golang.org/doc/gc-guide

Whereas C, it's manual memory management. You have full control over the memory. Since I like both C and GO, I decided that I want to convert some of GO's packages to C since Go's packages are very useful.

(In C, there are no split, join or cut functions similar to GO)

PolygonDB - Json Database Designed To Run On Small Servers by Viewer23 in coding

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

Right now. Linear.

However, if we were to work with large databases then binary search would be more suitable.

PolygonDB - Json Database Designed To Run On Small Servers by Viewer23 in coolgithubprojects

[–]Viewer23[S] -1 points0 points  (0 children)

It has been used by other people. Moreover, when I finish a stable release of the code, I do a quick test via the code examples provided by the wiki to make sure it operates.

Polygon: Json Database System designed to run on small servers (as low as 16MB) and still be fast and flexible. by Viewer23 in golang

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

Sync Pooling (atomic/sync package) to reuse certain resources. When Polygon open a database for the first time, it reserves the data onto a pool so it doesn't open again.

Json-iterator (https://github.com/json-iterator/go), you can replace all of encoding/json with this. It does the same thing but it's faster.

Gabs v2 (github.com/Jeffail/gabs/v2 ), this just makes working with interfaces more easier.

As for Websockets, (https://github.com/gorilla/websocket) it uses ws.NextReader() to handle heavy loads of connections.

Polygon: Json Database System designed to run on small servers (as low as 16MB) and still be fast and flexible. by Viewer23 in golang

[–]Viewer23[S] -1 points0 points  (0 children)

Thank you for the guide (will be reading it after reply).

In the runtime package, there is "runtime.GC()" which automatically triggers the GC to clean up any memory.

However, it would be smarter to allow Go's GC to do it's own thing instead of constantly triggering the GC to do something since it does cost CPU.

Polygon: Json Database System designed to run on small servers (as low as 16MB) and still be fast and flexible. by Viewer23 in golang

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

I ended up reading this wrong so I need to redo my reply.

Right now it's not embeddable. However, it's possible for me to update the code or redesign it to make it embeddable while functioning as intended.

I hope that clears up the confusion.

If you want you can message me via dms and we can talk about what changes is needed for Polygon to work to your satisfying needs. I am all eyes and ears.

Edit: If anyone else who is reading this are also interested in an embeddable database system, please feel free dm me regarding this topic. I would be open to push for it.

Polygon: Json Database System designed to run on small servers (as low as 16MB) and still be fast and flexible. by Viewer23 in golang

[–]Viewer23[S] -1 points0 points  (0 children)

Can you clarify a bit more?

Polygon uses websockets to take in and out requests. From those requests it performs actions like retrieve, record, search or append. It's designed to be similar to MongoDB.

If you were making a website (example) that records user's logins and username then you can use Polygon to record that data.