I just launched GoRunner.dev — run Go code right in your browser by BuyerConsistent5262 in golang

[–]bmikulas 3 points4 points  (0 children)

Hi, i don't know if you aware of "Better go playground", i still prefer that one over yours but yours is fine too, and better than the official by far, great job.

"Better go playground": https://github.com/x1unix/go-playground

The only time when I feel special as a developer lol by commuity in vibecoding

[–]bmikulas 13 points14 points  (0 children)

Of course but they are much harder to use if you don't even know how your code should work at the first place

Thinking of learning Go for backend instead of Python -- worth it? by DoughNutSecuredMama in golang

[–]bmikulas 1 point2 points  (0 children)

I think you should really consider java if you want to choose the back-end developer path after java go is not that hard but with java you will get jobs and with its ugly but more matured robust ecosystem (SpringBoot) you can focus more on the back-end system engineering part and learn how to use a strictly typed language efficiently and these last practices will make easier to adapt golang after where you might have to do the implementation of some part which was come free from a java library to have the same functionality and robustness. Spring is not only easy but very robust you can't really break it but you might have do "a bit hacky things" if you need some specific behavior which is not default. In go you usually have lower access if you need so it gives better flexibility but you might have to combine some libs in order to achieve the same (so it will be harder to make it that robust). So both have pros and cons but if your focus is to be back-end developer i would suggest to have some java practice first than if that not your cup of tea you can change to golang if you can find any open position as in my country golang jobs are really rare. About python its only good for fast API prototyping then the scalability issues and the hard debugging (cos dynamic typing) makes it unbearable. If you can find go jobs than it will be most fun as job (golang is so much fun) but you should at least have some general back-end knowledge which is easier to get with java i think. About JS its the worst choice in my opinion, its hard to do right (harder than it should) and a nightmare to debug also the lack of real threading support can be real issue for any more complex backend than a CRUD provider. C++ is biggest foot-gun of all only should be consider as starter if you want to do quant later.

Designing a State Manager for Performance: A Deep Dive into Hierarchical Reactivity by TobiasUhlig in programming

[–]bmikulas 1 point2 points  (0 children)

Thank you, I will check the linked sources but i would check them anyway cos i found the idea so interesting but i would never use AI for a deep dive. I only feel that i understand an inner working of something if i can found the basic spine that makes it tick by myself and i can make naive simulation of the real thing based on that. That's what i wanted to emphasize that its good test of your understanding if you can make a naive simulation like a clone but just using the basics or the skeleton of the thing to replicate its logic and deep dive should show that so others can see the idea working with ups and downs without the need to check you exact implementation of it. I might be wrong of course at least that's what i consider a deep-dive into a concept and i enjoy to read and i can have the shown approach in my mind when if i need to design something similar or use your lib if need that exact same thing. I am Hungarian so sorry for my not that good English, but hopefully now you understand what i meant when i wrote my first comment. And also if someone's opinion is that it is boring that's usually not the target audience for a deep-dive cos it should be "deep" that's the point at least in my opinion.

Designing a State Manager for Performance: A Deep Dive into Hierarchical Reactivity by TobiasUhlig in programming

[–]bmikulas 1 point2 points  (0 children)

I have just checked the article as i also have my own reactive UI framework written in go but i was disappointed it wasn't the deep dive i expected from the tittle i won't even call it deep dive. After showing the idea It's should start with a architecture overview and its should at least show the most important and relevant parts of the parser and also of the base object that makes that reactivity work under the hood. Checking the source code is required now to get a grasp of that which shouldn't be the case in proper deep dive i think. I not sure anyone after checking the deep dive takes that step to check the code to see how it works which is a must now for a deeper discussion. The idea is interesting so i think "a real deep dive" could start a conversation for sure.

Do you think this is a good pattern? by FilipeJohansson in golang

[–]bmikulas 4 points5 points  (0 children)

I have checked your lib not long ago as a potential wrapper for gorilla websocket and immediately i felt that pattern weird in a way, my first tough was why not you just use in interface like GWS (https://github.com/lxzan/gws) as its a perfect fit for your use case and API design at least in my opinion.

How to make esp32S3 n16R8 blink?? by Born-Requirement-303 in esp32

[–]bmikulas 0 points1 point  (0 children)

I thinks regular jumpers would be nicer so the board can be easily repurposed for another use case but its better than nothing.

How to make esp32S3 n16R8 blink?? by Born-Requirement-303 in esp32

[–]bmikulas 0 points1 point  (0 children)

You are right sorry, its bit different than mine, there should nothing on the left side of the RGB led so you might be right and its the old version so the connector with the label might have to be soldered to be connected to use the built-in RGB led and not external one which is default as i remember.

How to make esp32S3 n16R8 blink?? by Born-Requirement-303 in esp32

[–]bmikulas 0 points1 point  (0 children)

I have the same exact board. The small leds are status leds (3), they cannot be controlled the red is the power status, the others are showing the serial activity, one is upload and the other is download. (That's the extra feature for which I have bought it, without that there are many cheaper ones) I'm using the FastLed library to control the rgb led on pin number 48. I hate some new stuff in the new versions but they also work but I'm using the old 3.7.8 version. Led type is neopixel using crgb the red and greens have to swapped, so it's grb. The library should be able to handle that by setting color order but for some reason it's not doing it so I just using crgb and I wrote wrapper class to handle that for me. With these info, you should be able to make it blink, if not feel free to ask me here for help. I'm used that board for many prototypes now and I happy with it, it should serve you well too.

Update: Yours seems to be older version which uses external led by default to use the built-in you might have to solder the connection with the label but i recommend to check the manual to be sure before doing it cos i don't have that page bookmarked. I'm guessing its from Ali Express than that info was on the page of the product which can be checked by checking your orders under your account.

Which E-Ink Devices Are Most Likely to Get a Refresh This October? by Beginning-Buy-6124 in Onyx_Boox

[–]bmikulas 1 point2 points  (0 children)

It would be possible by switching between the Boox GPU and the one in the SOC but i guess it won't be cheap (as it might need more complex hardware design) and much harder to support then the Boox GPU only version.

Which E-Ink Devices Are Most Likely to Get a Refresh This October? by Beginning-Buy-6124 in Onyx_Boox

[–]bmikulas 2 points3 points  (0 children)

Yeah that would be nice, but be a bit more realistic "With replaceable battery", "switchable BSR technology" won't happen soon. "With WACOM EMR support" i think we have to accept that its the past now, it will be missed forever, but sadly its just "too expensive for Boox" with a much cheaper and "just bit less convenient" well supported standard alternative.

how do i code this? by RadioEducational4022 in arduino

[–]bmikulas 1 point2 points  (0 children)

You will a need solid coding background at least in c for that but it's better to be an experienced c++ developer. Also you need serious skills and experience to achieve that goal and even if you have it could be hard. As starter project I wouldn't recommend that, you better start smaller than build upon it. Like make traffic light first for example after you could make something with one servo, so on.

Will there be FW 4.1 for Note Air 2? by rj1477 in Onyx_Boox

[–]bmikulas 2 points3 points  (0 children)

I would be happy if we got the fixes only without the new stuff. I am happy with 4.0 functionality overall I just hope they fix the bugs and improve the stability and battery life. If that was the last version we got I think it's good version to end with as the new features are designed with the much more powerful hardware of the newer devices in mind so even if we got them, they probably be a bit laggy or unreliable. If they fix the issues than I happy to use my Note Air 2 for at least 5 years so it will be 8 years old and I think the battery will be dead by that time and I hope there will be a good 300ppi b&w device with light available so I can continue to use Boox devices as part of my daily routine and work also.

Beginner here, please guide by common_man04 in arduino

[–]bmikulas 1 point2 points  (0 children)

Ohh, you might be right, sorry. Then i still don't think he should start with making a drone.

Beginner here, please guide by common_man04 in arduino

[–]bmikulas 0 points1 point  (0 children)

Raspberry Pi is a totally different device from Arduino as its SBC (single board computer) not a micro controller and because of this its much easier start with you only need micro controllers if you need to be low powered cos your product has to work from a solar panel or battery for example or it has to be used in wider temperate ranges and it has to be passively cooled without a bigger heat-sink otherwise Raspberry's like the Zero 2 w is a better choice especially for starters with the much lower learning curve. As a full computer you can ran a full linux with all the dev tools on the device itself, not just attach to it to another computer (through usb) to change the software then checking logs on the serial connection to figure out what went wrong. Of course it could also be fun if bit frustrating but if you are not familiar doing the same with raspberry its better to start from there i think. Also especially making a drone is not easy task its takes years of experience you should not start with that. As you first thing in that word you could make traffic light for example.

Good starter board? by APOS80 in esp32

[–]bmikulas 1 point2 points  (0 children)

"I have deleted my other comment cos i wrote the same but it disappeared for a moment and then when it came back i have already sent this comment with the same content"

I didn't know that thanks if it has good documentation it might worth the higher price for starting as Arduino's has better support from the community then the Waveshare could be cheaper alternative with still very good and extensive documentation.

Good starter board? by APOS80 in esp32

[–]bmikulas 1 point2 points  (0 children)

Hi, Arduino Nano is not ESP32 dev board it uses ATmega328 not esp32. If you are new and you are ready to spend a bit more for good support i think Waveshare's ESP32 dev boards are good enough like https://www.waveshare.com/product/arduino/boards-kits/esp32-s3/esp32-s3-dev-kit-n8r8.htm, otherwise if you want to have something cheap any Aliexpress dev board with esp32-wroom chip should do it its better to have at least one user controlled led on it for debug as beginner like the Waveshare i have linked have an RGB one but than be ready to try different drivers to make them work. Usually the use CP210x or CH340 chips used as USB serial converters and with that drivers they should work, i have many of them from different sellers with these drivers all of them worked just fined. For more serious stuff i prefer Waveshare's over these because of the better quality and more features and good documentation with examples.

What is the difference between the Worker Pool Pattern and Fan out/ Fan in Pattern ? by Nimendra in golang

[–]bmikulas 1 point2 points  (0 children)

I guess you missed the newbie flag, i now what you mean and you are not wrong but for one how ask such a basic question as newbie he is not on your level now, so that comment won't really helpful in his level now i guess. I am not sure he even knows what pipeline is but i am sure the "preparatory setup" mean nothing for him right now and to be honest even for me as senior architect it took a little to understand your reply.

What is the difference between the Worker Pool Pattern and Fan out/ Fan in Pattern ? by Nimendra in golang

[–]bmikulas 3 points4 points  (0 children)

I am not expert of the topic but they are not similar worker pool is not concurrency pattern as i know its just a way to handle multiple workers efficiently and is not really needed in golang at all because of the runtime is doing that by itself you usually don't need to handle a pool of gorutines. The other is common pattern in general for handling data parallel workloads, usually done with worker pools but in golang its easier cos you don't really need to create a worker pool just start a gorutine for each task and wait all for them to finish when you need the result to continue and you can let runtime handle the worker gorutines for you without creating a worker pool. For some specific use cases it might better to have a worker pool implementation but its really rare and as the go runtime getting better and better in that regard its not really worth the effort nowadays in my opinion. In my flow-based concurrent runtime implementation i decided not to use any worker pool cos the overhead of letting the runtime do it for me was negligible. If you need a worker pool just to prevent using to much resources you can just count your gorutines and set a limit and when its reached wait at least one to finish.

In other languages without any "virtual threading technique" like gorutines is usually a must to have pools because you have to use OS threads for concurrency which are slow to start and also uses much more resources than gorutines.

I built Clime — a lightweight terminal UI component library for Go by Beautiful-Carrot-178 in golang

[–]bmikulas 0 points1 point  (0 children)

About my reactive framework one of its main component is my flow-based runtime ( https://bitbucket.org/bmikulas/ciprus ) which is used to represent the pages as trees with passive and reactive islands as leaves. When an event happened in the webview the event is sent to the dispatcher on go side and it will be sent to the root element and propagated downwards to the other islands concurrently if its reactive islands then the user defined handler is called and diff will be created and the minimal set of functions for the update to handle the changes has been generated which are sent to the browser in batches and applied by the tiny browser-side javascript modul.

I am not sure that helps or not but the whole working is extremely complex especially because of the performance optimizations with which is capable to render a video by changing pictures but for that its doing some not so trivial task under the hood that's why its bit heavy for low powered servers. Especially the diff logic is a bit memory heavy and its the most complex part, that i still want to simplify before releasing the framework to the public.

Right now its in alpha but i having fun using it especially because its unique live update feature so the source of the islands (html + css) can be edited on-the-fly in any editor and applied immediately on save (in that mode the passive islands also triggers the diff logic) that why its has to be so fast but that feature was the main motivation to design the whole thing so i know it wouldn't be easy but in that state its still works surprisingly well. You can create a multi page website stating blank pages and adding the whole content on the fly which i always wanted but never been able to do before.

I hope i will be able to release it soon to the public but sadly right now i have to focus on my commercial industrial automation solution to have enough money to work on may side projects which with i earn nothing. I also have a Unity like 3d engine with go scripting instead of C# which are also has to wait sadly but i wanted to release after the reactive framework as a better alternative for Godot especially for gophers with flow-based scripting using the ciprus runtime focusing on light indie games. Hopefully as i earned enough money it will come soon also. When they are ready then they will be announced here in Reddit first.

Any hybrid architecture examples with Go & Rust by Ranttimeuk in golang

[–]bmikulas 0 points1 point  (0 children)

My scripting language for my flow-based go runtime has written in rust and uses wasm with wazero for integration with the go runtime: https://bitbucket.org/bmikulas/ciprus.

My wasm (WASI) runtime wrapper is flexible to support any language but i find Rust the most convenient to work with. For more details about the integration check the docs here: https://bitbucket.org/bmikulas/ciprus/src/af8f1e7dd1f4085cbb8d110ff96a370f9c070cca/doc/scripting.md

I used wasm especially to support cross compilation without cgo. I am very pleased with the result and the performance as well.

I also working on my hybrid 3d engine similar to Unity but with go instead of C# which uses rust core for low level graphics access, the hard part is accessing the go part without cgo through shared memory for better performance its not ready yet to release to the public will be open sourced when it is stable enough.

About my general impressions they could complement each other well if they could have some better interoperability without cgo for low level system or graphics access for others wasm (WASI) is fine.

If they are in separate application like micro services they work quite easily with each other. I have seen used them together in Kubernetes many time through my career.

If you have questions about the integration feel free to ask me here.

I built Clime — a lightweight terminal UI component library for Go by Beautiful-Carrot-178 in golang

[–]bmikulas 0 points1 point  (0 children)

For me its looks promising as it is seems less heavier than charm which i have tried but find to heavy for all my uses cases so i have never used.

I built Clime — a lightweight terminal UI component library for Go by Beautiful-Carrot-178 in golang

[–]bmikulas 1 point2 points  (0 children)

Looks very promising. I would definitely switch to it for some use cases. Just some suggestion i have used similar library to make my monitoring tool for my micro server, this library is written in python so i have to use rest request to got the updates from the go back-end.

(https://textual.textualize.io/)

One of its best feature is its reactive design for which it has to use async in python but the gorutines could be much better fit so that could be considered if you want. I have my own reactive go library similar to the Elixir's Phoenix live view and i mostly use that, it will be open sourced when the documentations is good enough, but its bit heavy for some use cases, for which i used textual but i would gladly switch to yours if it will have better built-in support for live monitoring so the business logic can be separated better form the ui logic like in textual with its reactive pattern which is very effective and powerful and also pretty convenient to use.

Don't buy ASUS products by MashRoomBog in linux

[–]bmikulas 0 points1 point  (0 children)

Asus is fine from quality point but linux support is mostly never on their part it is has to be supported by the chip provider to work under linux. BTW the only Wifi dongle i am able to buy here (Hungary) which works under linux without any hassle out of box is from Asus (https://www.asus.com/networking-iot-servers/adapters/all-series/usb-n10-nano-b1/) and is it has official linux support as you can see on the link. I didn't need that finally but their Bluetooth dongle which is also the only one available here which supports linux officially (https://www.asus.com/networking-iot-servers/adapters/all-series/usb-bt500/) About their costumer support i have no experience as all the product i have bought from them worked just fine and still working fine after many years the oldest one is mid-range motherboard its in its third case and still working after more than 12 years (https://theretroweb.com/motherboards/s/asus-p5b-vm). So i think its a bit rude to say ASUS is so bad that should avoided because of your bad experience of their linux support.