With Gitea/Forgejo you can run a local actions executor, which builds the images, pushes to gitea’s image registry, and using a script pulls them on the other side and restarts them. Worked fine in our small startup.
- 0 Posts
- 35 Comments
monomon@programming.devto Learn Programming@programming.dev•How to go from writing code that works to writing efficient, clean code and following good practices?3·11 months agoThis might be contrary to some, but i recommend diagramming! Can be anything from paper doodles to d2 to full blown uml diagrams. They help you stay focused, and aware of the program’s data dependencies.
Regarding code practices - read code. If you use a library for something, dive into its code. This can be beneficial in many ways - you observe the style they used, you understand better how the library works (documentation rarely contains enough detail), and you see how libraries are structured, which is often lacking in newbies.
Learn your language’s idioms. They can reduce complexity, and are usually more readable to people with experience in the given language.
Finally, don’t sweat it too much. The more you write, the better you’ll become, so just do it. New problems lead to new insights.
monomon@programming.devto Learn Programming@programming.dev•How to go from writing code that works to writing efficient, clean code and following good practices?4·11 months agoThis might be a bit advanced, but indeed a very good article.
monomon@programming.devto Selfhosted@lemmy.world•which git server for a company?English3·11 months agoSame. Really happy with it.
I started doing exactly this. Write a bunch of functions, that may end up in different systems, on different machines, even. This allows you to define the interfaces, figure out data dependencies, and so on.
The code may be runnable, just printing out some statements. Then I copy blocks of it to the place where it will belong.
It’s more of a thinking tool, than “actual code”.
monomon@programming.devto Selfhosted@lemmy.world•Self hosting is hard. How do you overcome?English2·1 year agoI have set up forgejo, which is a fork of gitea. It’s a git forge, but its ticketing system is quite good.
monomon@programming.devto Selfhosted@lemmy.world•Fully Virtualized Gaming Server?English10·1 year agoI know you asked about VMs, but fwiw there are GPU-capable containers now: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
Used one of these and the setup is as easy as it sounds. It can run Houdini, Stable Diffusion.
monomon@programming.devto Selfhosted@lemmy.world•SMB, FTP, or NFS for NAS + server?English2·1 year agoFair enough, i thought it should be noted. The difference was significant at times.
monomon@programming.devto Selfhosted@lemmy.world•SMB, FTP, or NFS for NAS + server?English6·1 year agoSame here, SMB was significantly slower in our organization than NFS.
monomon@programming.devto Selfhosted@lemmy.world•Selfhosted messenger/community software like discordEnglish2·1 year agoMatrix does support voice, and I found the quality to be amazing.
One suggestion - if you get 10 plain black t-shirts, then implement your style!
I am a dev who was focused on design and ux early on (this has changed as the needs of my work changed).
@abhideckert’s suggestion on how to analyze the needs is great. Now on to the implementation.
Similarly to development, you start out with some requirements - you need to show an input box, a history of inputs, and a sidebar with categories. You work out the layout (with wireframes, pencil drawings, etc.). Then comes visual style, which I guess is the thing you struggle with?
In both layout and visual style, you need to apply design principles, but ultimately the goal is to guide the visitor’s eye to the right places. This is where rhythm, repetition and contrast play a role. Basically highlight important elements, make the order of elements logical and not boring, avoid large empty areas but leave sufficient “breathing room” between elements, etc.
For visual style, you should make your own “style guide” that you apply to all personal projects. You can vary it a bit for each, if you are worried about them looking the same. Make that into a css file with a dummy html page to test. Add an input box, a textarea, select, unordered lists, etc. and style all of them to your liking. This guide will capture a lot of visual ideas, colors, spacing, which you can paste straight into your project. Do not sweat too much about stealing other people’s ideas - it’s an intrinsic property of art, and anyway it will probably not look 100% the same even if you copy it.
Edit: PS: spend some time just looking at the design and thinking.
monomon@programming.devto Programming@programming.dev•The Things Users Would Appreciate In Mobile Apps — Smashing Magazine52·1 year agoNot always, i think. There are some SSO solutions that behave like this, and password gets filled in fine.
monomon@programming.devto Programming@programming.dev•What's your preferred code generation tool in 2024?1·1 year agoJust thought of an example. If you want to, you can open a file at macroexpansion time, and generate code based on its contents. There are no limits, pretty much.
monomon@programming.devto Programming@programming.dev•What's your preferred code generation tool in 2024?1·1 year agoBoth languages you mentioned i highly recommend.
Lisp macros are another level, because they are part of the language - you can use all language primitives to transform forms however you like.
Haskell will give you a different view of programming. It’s beautiful and concise, and implements all sorts of academic research in languages. Ocaml is similar in many respects.
monomon@programming.devto Programming@programming.dev•What's your preferred code generation tool in 2024?5·1 year agoLisp macros.
But I’d be curious of the possibilities of generating code with tree sitter.
monomon@programming.devto Programming@programming.dev•Why is knowledge of programming alone not enough?2·1 year agoDitto. Pity that a “renaissance” education is not in very high regard nowadays (or I’m not aware). It’s where a lot of innovation happens, too.
Yeah all this free energy waiting to be harvested
Yes, it is. I find navigating s-exps way easier. Also it has some lispy features, and macros.
Nice. I am working on some improvements to parenscript, this might come in handy.
Yeah every time I see this chart I think “unless it’s performance critical, realtime, or embedded, why would I use anything else?” It’s very flexible, a joy to use, amazing interactive shell(s). Paren navigation is awesome. The build/tooling is not the best, but it is manageable.
That said, OCaml is nice too.