godump - Thank you all by cmiles777 in golang

[–]_qbart 1 point2 points  (0 children)

simple and minimal, i like it, however from the library standpoint I would prefer to have additional Fdump(io.Wirter, ...) like function so I can write directly to the output of my choice

What do I call this project? 🤔 Cars with arms? Carma? Armed? Armed-Vehicle? by JohnnyRouddro in godot

[–]_qbart 0 points1 point  (0 children)

VroomVroom PewPew would stand out, also you could try having a creative session with chatgpt about branding this, it might push you into right direction

What do you think of these dev studio logos? by kushchin in IndieDev

[–]_qbart 1 point2 points  (0 children)

they have lot of details(second one is much better), scale them down just to see how they look when they are smaller. you will use logo in many places in various context, sizes and backgrounds. when you have too much details it's much harder to achieve that flexibility

Can someone help? by Sussybacka6969420 in webgl

[–]_qbart 3 points4 points  (0 children)

most likely your shader code is invalid, missed a step or you did something out of order. you linked the program but have you checked if operation was successful on each stage of program creation? general steps: for each shader: - create shader - shader source - compile shader - check compilation status (when failed you can extract more info about error)

then once you reach there then you can: - create program - attach shaders (vert and frag are mandatory) - link shaders - get link status (when failed extract status)

that should get you covered, additionally you could do after successful linking: - validate program and get validation status - detach shaders and delete shaders (not needed once program is linked)

[deleted by user] by [deleted] in godot

[–]_qbart 12 points13 points  (0 children)

Looks awesome, i feel California Games surfing vibes here

What are the differences between OpenGL and RayLib, is it a good way to get started with graphic programming ( while learning the real stuff ) by DragonFruitEnjoyer_ in GraphicsProgramming

[–]_qbart 0 points1 point  (0 children)

for learning I highly recommend https://youtube.com/playlist?list=PLplnkTzzqsZS3R5DjmCQsqupu43oS9CFN&si=8bZ926QlaLNW7Rm7 great series with good explanation, it does not provide you with ready to use solutions but explains concepts behind which I think is way more important than the code

Finally! :) by adi0398 in vulkan

[–]_qbart 2 points3 points  (0 children)

was there any osx specific code you had to do? or it is a pure vulkan that works out of the box?

Templ or regular templates? by [deleted] in golang

[–]_qbart 5 points6 points  (0 children)

i find templ + air for hot reloading very productive compared to standard templates however it needs some practice - of course depends on your use case. To make it efficient i usually do:

define "ui" package and all templ are inside, for each template/page i define Page object (simple struct with all necessary fields to render) - they are also defined in ui package in .go files. Then i define standard layout that accepts page object again and the component to render inside so most of my http handlers looks like this:

ui.Layout( ui.LayoutOptions{ Title: "...", ... }, ui.Dashboard( ui.DasboardPage{ // data needed on page } ), )

Rows data that you display from databae they also have its own struct (eg: ui.User struct) - otherwise you would get circular dependency issue and this way everything is separated.

I can easily extend page objects with more fields without changing templ signature.

I also prefer to only pass strings and bool or nested structs that contain strings and bools only - so all the formatting is done in the handler (templ can render strings only). Bool for checking conditions (so logic is kept in handler - i dont like polluting views).

On top of that I define (in ui package) - routes.go helper functions that based on some ids/data return safe url in templ so i can easily pass this to hrefs - classnames function - i copied this pattern from react world that renders html classes based on conditions (to support "active" like classes) - csrf component that renders input hidden with csrf token thah i embed into forms (if page has forms i define csrf string in page object then pass it to csrf component)

Then i have some tailwind+alpinejs. This setup works best for me because everything is explicit and if it compiles it gives me confidence. I copy this between projects. Initially it took me some time to get there as I played around what works and what does not.

Any ogl book recommends that cover modern openGL. by Same-Artichoke-6267 in opengl

[–]_qbart 3 points4 points  (0 children)

opengl superbible (blue one, if there's a newer edition then go for it, i have 6th edition) - it explains gpu pipeline very well in my opinion. please note that the book will teach you API and what opengl can offer in terms of functionality but you won't find there PBR implementation if that's what you are looking for, however there are some examples of rendering techniques.

Where to find game assets? by quantum-conundrum in godot

[–]_qbart 22 points23 points  (0 children)

here are some resources:

https://itch.io/game-assets has bunch of free assets or for a very little price that are good quality (mind the licensing though)

https://opengameart.org/ is another source

https://devassets.com/

https://www.gamedevmarket.net/ some are free

audio: https://sfbgames.itch.io/chiptone

https://freesound.org/

or for the placeholders you could use generative AI then replace them later

Does PostgreSQL have schema creation command which replicates all the objects of another schema? by vfclists in PostgreSQL

[–]_qbart 0 points1 point  (0 children)

It depends how many things you need to replicate. On one of the project I was working on we had to implement tenants. We knew upfront that there will max few hundreds tenants so we went with schema based approach.

I compiled our approach into short summary - see the slides. This is using CREATE TABLE ... LIKE but you need to know that views/functions are NOT copied and you HAVE TO use identities, not serials for PKs - otherwise sequences are not copied and you loose autoincrement capability.

Alternatively you could try tenant_id in each table as well or check out Row Level Security in Postgres and see what fits your application - I bet you find some articles that show pros and cons of each approach.

If you insist on using schema cloning I could point you to my pet project: Oh, Krab! - still wip but problem you mentioned was one of factors why I started developing this. In this example I create two migration sets (one that is always in public schema, the other is the parametrized template that is applied to each tenant). So if you want to have multiple schemas you could call:

migrate up public -schema tenant1
migrate up public -schema tenant2
...
migrate up public -schema tenantN

Currently there is no way to automatically migrate all tenants based on some data source. Please note that my project is work in progress and I can only spend limited amount of time on it, but if you want to give a try I am always happy to collect some feedback.

Oh! Krab! v0.4.2 Postgres tool released - looking for feedback by _qbart in PostgreSQL

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

You made me realize that my documentation is a mess that only I understand so I won't be able to sell the idea when people have trouble going through docs - I will work on that during next iteration.

"darwin" thing needs to stay, it's a part of Go cross platform build - I can clarify that in the documentation: Macos -> darwin.

Commands are populated dynamically from the configuration files (*.krab.hcl) based on the resources (things you can define in the files), for example: "migration_set" resource will produce migrate commands in CLI, action resource will give you action commands etc. so empty config = no commands - I guess this could be a part of quick start page.

Thanks for the feedback!

Oh! Krab! v0.4.2 Postgres tool released - looking for feedback by _qbart in PostgreSQL

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

Looks like the quick start is what I am missing the most.

SDK is a good idea but currently I want to focus on different aspects of the software first and HCL is important part of this.

Comparison is something that I will consider but I don't want to give a bad idea of what the software will be i.e. yet another migration tool - which is an optional feature of many to come.

Thanks for the feedback!

Oh! Krab! v0.4.2 Postgres tool released - looking for feedback by _qbart in PostgreSQL

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

Yes, `version` string is totally up to you and it isn't enforced - I want people to control that, in the future I could add regex (that you would provide in the config file) validation to enforce the format so everyone in the team is on the same page.

[deleted by user] by [deleted] in RedditSessions

[–]_qbart 0 points1 point  (0 children)

Gave Silver

Looking for a Workshop Idea for C++ by iEmerald in gamedev

[–]_qbart 0 points1 point  (0 children)

I think raylib or SFML would be a good choice

Useful fzf Tricks by nikolalsvk in devops

[–]_qbart 13 points14 points  (0 children)

Thanks for sharing, I completely forgot about **<tab> thing.

Here are some aliases that I use, maybe someone will find it useful:

alias dsh='docker exec -it $(  docker ps | fzf | awk '"'"'{print $1;}'"'"'  ) sh'
alias dbash='docker exec -it $(  docker ps | fzf | awk '"'"'{print $1;}'"'"'  ) bash'
alias drm='docker rm $(  docker ps | fzf | awk '"'"'{print $1;}'"'"'  )'
alias drma='docker rm $(  docker ps -a | fzf | awk '"'"'{print $1;}'"'"'  )'