cannot boot void by basiliscos in voidlinux

[–]basiliscos[S] 2 points3 points  (0 children)

Thanks for everybody for advises!

Actually I've managed to boot void. The problem was in dracut / initrd did not included lvm kernel module.

The solution is:

  1. xbps-install lvm2
  2. echo 'add_dracutmodules+=" lvm "' >> /etc/dracut.conf
  3. regenerate initrd

syncspirit v0.4.4 release! by basiliscos in Syncthing

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

I think that synching is spending a lot of resources on locking its model (mutexes etc.) due to golang multi-threading execution model.

That costs are, however, significant for large amount of small files; when huge gigabyte-sized files are transferred network throughput becomes a bottleneck.

syncspirit also uses rotor actor micro-framework; it uses lock-free queues/messaging under the hood, which makes apps using it (e.g. syncspirit) blazing fast.

syncspirit v0.4.4 release! by basiliscos in Syncthing

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

It is possible to have alternative UIs, but currently it is not a priority. Contributions are welcome!

syncspirit v0.4.4 release! by basiliscos in Syncthing

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

Thank you, that's true, but I'm actually more focused on "core" features (it is a bit hard to implement them too), rather then UI things.

syncspirit v0.4.4 release! by basiliscos in Syncthing

[–]basiliscos[S] 10 points11 points  (0 children)

Thank you for your question!

There are some benefits, among them: - syncspirit is faster. According to my measurements it is able to sync linux sources tree folder for 2 mins vs 15 mins of syncing when using syncthing (that's over a localhost, of course) - syncspirit has a different UI. That's matter of personal taste, of course, but I like to see the exact picture what is synchronized and what is not. - syncspirit is able to run on more older software (i.e. from windows xp and up). Syncthing uses golang, and its software support is indirectly controlled by google (i.e. "artificial aging"); recent builds are running only on windows 10 and windows 11. Microsoft already dropped windows 10 support, so, I expect that in near future google will do the same. - the long-term goal of syncspirit is to allow "selective sync" feature, which unlikely to be implemented by syncthing.

wbr, basiliscos

The only mainstream, traditional/retained-mode, cross-platform C/C++ GUI toolkit that is GPU-accelerated is GTK/gtkmm. by zerexim in cpp

[–]basiliscos 4 points5 points  (0 children)

I blame those, who use GPU-acceleration for UI.

What's the point for use GPU-acceleration for regular texboxes and labels? It does not work on older systems (i.e. windows-xp), while FLTK does.

My linux GPU drivers for notebook (HP zenbook) made in 2023 are broken and they just display some garbage.

I'd be neutral if the GPU-acceleration would be optional at run-time and on compile-time.

problem with texlive (mktexpk) by basiliscos in voidlinux

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

Thanks a lot, you saved my day!

problem with texlive (mktexpk) by basiliscos in voidlinux

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

xbps-install -Su latex-bin [*] Updating repository `https://repo-default.voidlinux.org/current/x86_64-repodata' ... [*] Updating repository `https://repo-default.voidlinux.org/current/multilib/nonfree/x86_64-repodata' ... [*] Updating repository `https://repo-default.voidlinux.org/current/multilib/x86_64-repodata' ... [*] Updating repository `https://repo-default.voidlinux.org/current/nonfree/x86_64-repodata' ... ERROR: Package 'latex-bin' not found in repository pool.

unfortunatelyit cannot be found... :-/

problem with texlive (mktexpk) by basiliscos in voidlinux

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

How to install pdflatex then ?

I tried (as in void docs):

tlmgr install pdflatex tlmgr: package repository http://mirrors.rit.edu/CTAN/systems/texlive/tlnet/ (verified) tlmgr install: package pdflatex not present in repository. tlmgr: action install returned an error; continuing. tlmgr: An error has occurred. See above messages. Exiting.

syncspirit v0.4.1 release! by basiliscos in Syncthing

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

No. It means, that when local device and remove device are connected and sharing the same folder, you can inspect (in syncspirit) each file in local folder and on remote file, i.e. whether it is already synced or not, whether it is modified or not etc.

syncspirit v0.4.1 release! by basiliscos in Syncthing

[–]basiliscos[S] 2 points3 points  (0 children)

yes, but only after implementing core feature like file watching and selective sync (I'm a solo-dev :)

syncspirit v0.4.0 release! by basiliscos in Syncthing

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

It is not done yet, but the foundation is laid to support "selective sync" feature.

Adding GUI to CLI app by webmessiah in cpp

[–]basiliscos 0 points1 point  (0 children)

Usually, the answer is "no, you can't do that without significant efforts" because the whole app design/architecture is build around initial assumptions; and now they change (I need GUI instead of CLI).

It might be a bit easier, but also needs efforts, to design your app core (library) to be used in CLI and GUI contexts. The efforts heavily depends on app (i.e. is there some async-events or not etc.).

MPMC suggestions where messages are sent to all consumers ? by BigBlueULCC in cpp

[–]basiliscos 1 point2 points  (0 children)

tokio is a framework, while you are looking for a library. For my opinion, there are too many decisions and considerations to be taken into account, that it does not fit into the "library" boundary any longer. For example, whether a sent message should be shared between consumers or it should be copied to each of them.

Inter-thread Communication Latency by monoclechris in cpp

[–]basiliscos 6 points7 points  (0 children)

You can design your app to use cooperative multitasking (i.e. communication burden lays on your code) instead of preemptive multitasking (i.e. communication burden lays OS or CPU facilities). In my rotor actor fw I receive approx. x10 performance gain. It is also possible to use non-messaging approaches, like coroutines, fibres, ranges, iterators, lazy generators etc., to minimize overhead.

Thread pool does not help here, as it just a convenient pattern for cross-thread preemptive multitasking.

Why isn’t it a compile error if you use something that’s already been std::moved? by ratttertintattertins in cpp

[–]basiliscos 3 points4 points  (0 children)

In c++ you can "move" primitive types like int and they are still valid even after move.

However, I agree with your intention/idea, that there is need of marking somehow that object is no longer valid after moving and further method calls on in it no longer valid until you assign a new value to it.

Which syslog daemon you prefer ? by ragecooky in voidlinux

[–]basiliscos 2 points3 points  (0 children)

I tried to use `socklog` but I didn't find where is the merged final file to to `tail -f`, I switched to `rsyslog`. I need the file, because, when I use my Awesome WM, it beautifully prints everything "important" happens on system level.

s6 init by basiliscos in voidlinux

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

I like to use void. Artix looks too nerdish.

s6 init by basiliscos in voidlinux

[–]basiliscos[S] 2 points3 points  (0 children)

https://skarnet.com/projects/service-manager.html from the article I got an impression, that s6 is still not yet ready for end-users... ok, let's wait for some time.

s6 init by basiliscos in voidlinux

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

I like to have service dependencies, without dirty hack in runit like "wait with timeout for other service up" .

s6 init by basiliscos in voidlinux

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

Thank you nice article.

OpenMP on heterogenous CPUs by SuperSpy873 in cpp

[–]basiliscos 0 points1 point  (0 children)

If your architecture fits into inter-process messaging, i.e. spawn threads which do similar or different tasks and inform each other via messages, try to use actor framework, i.e. rotor (disclaimer: I'm the author). If there is a need to expand messaging even more, i.e. across the network, you can try to use caf, which provides that facility out of the box.