Hello Everyone,
Does anyone use an IDE for developing in Genode?
If so, which one? How do you like it? Do you have any configuration and/or usage hints you can share?
If not, are you interested? What is your favorite IDE candidate?
I don't have any experience with integrating a new platform into an IDE, but it doesn't seem like it should be an insurmountable task (especially for someone who knows what they are doing :^) ). And it seems like it would make it easier for newcomers to explore the APIs.
Just curious...
Happy Sculpting!
I do not yet, curious to hear what other people use. Last time I was doing a C++ project, Geanie was my favorite. Nice and lightweight, planning on trying to set that up soon unless there's a more 'blessed' option.
On Thu, Jul 25, 2024, at 11:15 PM, John J. Karcher wrote:
Hello Everyone,
Does anyone use an IDE for developing in Genode?
If so, which one? How do you like it? Do you have any configuration and/or usage hints you can share?
If not, are you interested? What is your favorite IDE candidate?
I don't have any experience with integrating a new platform into an IDE, but it doesn't seem like it should be an insurmountable task (especially for someone who knows what they are doing :^) ). And it seems like it would make it easier for newcomers to explore the APIs.
Just curious...
Happy Sculpting!
John J. Karcher devuser@alternateapproach.com
users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
John J. Karcher wrote:
Does anyone use an IDE for developing in Genode? If so, which one? How do you like it? Do you have any configuration and/or usage hints you can share? If not, are you interested? What is your favorite IDE candidate?
I had previously used Emacs. However I have now switched to VSCodium and I am very happy. It’s unbelievably easy to install extensions, language servers and Syntax support for obscure languages such as Nix, NU Shell and others. It also has fantastic GitHub integration, I can push and sync my changes to my Git projects in seconds using VSCodium and I don’t need to open or touch a terminal to use Git with VSCodium.
There is an air of superiority in the VI/VIM/NEOVIM and Emacs community that text based editing is the most efficient method. This is false in my opinion. After using GUI based IDE’s like VSCodium I realised keyboard/terminal based text editors are simply slower and far less intuitive to use than editing text with mouse, keyboard and GUI. Also adding extensions and editing configurations for NEOVIM and Emacs are a massive hassle and time sink. People that use VIM and Emacs will argue to death that keyboard centric text editing without a GUI is more efficient. It’s always going to be slower and if you do want to reach the level of efficiency they claim to have, you have to waste more time learning keyboard commands, shortcuts and editing your configuration files for many hundreds of hours. I would say these people spend more time configuring their Emacs or Neovim than they actually spend programming. It’s not worth it, I don’t recommend keyboard centric editors. I would suggest the modern GUI IDE’s.
IDE’s I have starred on GitHub and that I would consider using in the future: All of these IDE’s I list below are FOSS, I don’t use proprietary IDE’s. These are all general purpose IDE’s that can support many languages:
VSCodium - This is the only IDE that I use currently ZED – Rust based GUI IDE recently released for Linux, originally made for Mac OS. LAPCE – Rust based GUI IDE still in beta/alpha I believe
To add to this:
There is also KATE, which is the "KDE Advanced Text Editor", it's 23 years old now, so it's more than likely very stable. It’s also a general purpose IDE that has support for many programming languages. However, it is written in C++ which isn't memory safe. I try to use memory safe versions of applications if I have the choice. So I probably won't be using it, but it seems adequate like the others I listed too.
Spencer listed Geany which is also a C++ application that is quite old too, so probably quite stable, but also not memory safe. It’s a general purpose IDE that has support for approximately 50 programming languages
Jack Curran - 27.07.24, 01:04:35 CEST:
There is also KATE, which is the "KDE Advanced Text Editor", it's 23 years old now, so it's more than likely very stable. It’s also a general purpose IDE that has support for many programming languages.
[…]
Still just lurking here, more and more dissatisfied with erratic behavior related to the Linux kernel and probably some other components, but for Kate on Linux I can say: I do not remember when it last crashed if ever. And I use it a lot.
With memory safe you mean written in Rust or a language with similar qualities?
Martin Steigerwald wrote:
Still just lurking here, more and more dissatisfied with erratic behavior related to the Linux kernel and probably some other components, but for
What things have you encountered?
With memory safe you mean written in Rust or a language with similar qualities?
Yes Rust is one example of a memory safe language. Other examples are Haskell, Java, Python, Typescript, JavaScript, Go, C#, Kotlin, Scala, Swift, Ruby, Ada and OCaml.
Assembly, C and C++ are not memory safe. There are very few memory unsafe languages other than Assembly, C and C++ that are in wide use today. According to Microsoft and Google, the majority of CVE's are caused by memory leaks. Thus, there is now a big push to have all applications written in, or re-written in, memory safe languages.
Rust does not mean you cannot write unsafe code. It just makes it harder and it is not the normal way that you should write Rust. The Rust compiler will fight you to ensure you program in a memory safe manner and it won’t successfully compile until you have met all of its demands. The exception however is that you can add a keywords, ‘unsafe’, that tells the compiler the following code is unsafe, so the compiler does not fight you to make it safe, this allows you to write unsafe code. This is not recommended however. So Rust is only safe if you don’t use the ‘unsafe’ code parameters or if you can prove the unsafe code is actually safe using formal verification methods.
These links will give a more detailed explanation than I can: https://www.memorysafety.org/docs/memory-safety/ https://en.wikipedia.org/wiki/Memory_safety https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html
Hi!
Jack Curran - 28.07.24, 01:53:34 CEST:
Martin Steigerwald wrote:
Still just lurking here, more and more dissatisfied with erratic behavior related to the Linux kernel and probably some other components, but for
What things have you encountered?
Not quite on topic here I bet. However as you asked I summarize it.
Several regressions related to hibernation and even just switching off the machine for a regular shutdown or cleanly a rebooting a machine. On ThinkPad T14 AMD Gen 1 for example 6.7.9 works fine, 6.7.10 fails hibernation, 6.7.11 fails hibernation with a different, a workqueue related error. And both were not even able to shutdown the machine or reboot! Some 6.8 failed with the same error than 6.7.11. I had similar things with a ThinkPad X260 with earlier kernels.
I ordered a ThinkPad T14 AMD Gen 5 partly out of frustration with that, and there at least hibernation works again as hibernation also works with a ThinkPad T14 AMD Gen 2 I use at work. But the Linux support for the Gen 5 is not yet complete and there are firmware issues being sorted out by Lenovo. So its not completely stable as well. Some hibernation attempts failed with different symptoms. Sometimes the hibernation was successful but it did not switch off. I am in contact with the Linux community guy at Lenovo about it. The most stable of the three on Linux is currently the Gen 2. Actually as far as I have been told Lenovo does not even include hibernation in their Linux support for laptops, cause they know its unstable, not just for Lenovo laptops.
I remember a time when I was able to hibernate for months to come. Typing "who" in a KDE desktop session revealed I logged in on April. I don't have this on my main use laptops anymore. The music laptop, the X260, can still do it but that is using a Xanmod LTS kernel as the regular Debian kernel also did not hibernate correctly at one point. And I do not update it very often. Actually I save out dpkg packages on a kernel upgrade, so that if its not available in the package source anymore I can still install the kernel. And on the Gen 5 there was an additional several second delay in resuming from regular s2idle standby that apparently got fixed in 6.9.10 kernel but was there with all the prior kernels from some 6.8 to 6.9.9 I used on the laptop.
It is basically a hit or miss these times. Especially with machines that are a bit older and out of focus of testing for them.
In addition to that there I had hangs with a graphical session, GPU hangs.
Lastly, the error messages are not very helpful and… whenever I take the time to report an issue, they tell me to bisect. I could bisect between 6.7.9 and 6.7.11 for example, but… I am reluctant to do it between 6.7 and 6.8 for example cause then I would use in between developmental states of the Linux kernel on a production machine and it can take a lot of time. So basically for now I stopped even reporting issues on Linux mailing lists.
What I am hoping for is an operating system, where drivers do not even have the ability to prevent a hibernation from completing successfully, prevent the machine from just shutting down or make the system unstable in any other way beyond their domain of work. Linux is all in one and it is developed in such a rollercoaster speed… I worked with rolling Debian/ Devuan for decades on desktop machines meanwhile, but I am feeling like staying on the next stable release, cause the breakage with every new kernel release is just too much for me to handle. My subjective feeling is that the quality deteriorated quite a bit. And I think part of the reason is overwhelm of the developers with the speed of development and the complexity of Linux. So it is not as an offense to them. They try to do their best and I appreciate their work.
Also I hope for an operating system where error message really tell the *reason* for the error and are descriptive and helpful instead of leaving the user with something like this:
[ 76.666115] port 0000:02:00.1:0.0: PM: dpm_run_callback(): pm_runtime_force_suspend+0x0/0x120 returns -16
(It now comes to me that 0000:02:00.1:0.0 might refer to some PCI device. I did not get that back when I reported the error.)
And it may not just be Linux. It's also about bugs in firmware and the complexity of modern hardware in general. I lurk by here to monitor the progress of Genode and maybe at one time take the time to try it out on some real hardware.
With memory safe you mean written in Rust or a language with similar qualities?
Yes Rust is one example of a memory safe language. Other examples are Haskell, Java, Python, Typescript, JavaScript, Go, C#, Kotlin, Scala, Swift, Ruby, Ada and OCaml.
[…]
These links will give a more detailed explanation than I can: https://www.memorysafety.org/docs/memory-safety/ https://en.wikipedia.org/wiki/Memory_safety https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html
Yeah, thank you for your detailed introduction and for the links.
Best,
It’s always going to be slower and if you do want to reach the level of efficiency they claim to have, you have to waste more time learning keyboard commands, shortcuts and editing your configuration files for many hundreds of hours. I would say these people spend more time configuring their Emacs or Neovim than they actually spend programming. It’s not worth it, I don’t recommend keyboard centric editors. I would suggest the modern GUI IDE’s.
Sigh I believe that the old editor war should be left out of this list. I am not going to comment the text above.
Michael Grunditz
Michael Grunditz wrote:
Sigh I believe that the old editor war should be left out of this list. I am not going to comment the text above. Michael Grunditz
I apologise, I will refrain from giving unsolicited opinions on such matters. It was not my intention to start any wars.
John J. Karcher wrote:
Do you have any configuration and/or usage hints you can share? If not, are you interested? What is your favorite IDE candidate?
Considering that the original poster had asked for configuration or usage hints to share, I was immediately thinking of keyboard centric editors which many users advise to personally customise. Thus I felt the need to pre-emptively justify my lack of recommendations for non-GUI text editors such as VI/VIM/NEOVIM, Nano or Emacs in the list. The last thing I will say on this topic is that some of the editors I listed have native support for a VIM or Emacs mode, I am thinking of ZED specifically in this case. https://zed.dev/docs/vim
I would love to see VSCodium and/or Kate ported to Genode. Does anyone know how to get VSCodium to find the headers and sources for autocomplete and code checking?
On Sat, Jul 27, 2024, 3:55 AM Jack Curran genode@axioms.info wrote:
Michael Grunditz wrote:
Sigh I believe that the old editor war should be left out of this list.
I am not going to comment the text above.
Michael Grunditz
I apologise, I will refrain from giving unsolicited opinions on such matters. It was not my intention to start any wars.
John J. Karcher wrote:
Do you have any configuration and/or usage hints you can share? If not, are you interested? What is your favorite IDE candidate?
Considering that the original poster had asked for configuration or usage hints to share, I was immediately thinking of keyboard centric editors which many users advise to personally customise. Thus I felt the need to pre-emptively justify my lack of recommendations for non-GUI text editors such as VI/VIM/NEOVIM, Nano or Emacs in the list. The last thing I will say on this topic is that some of the editors I listed have native support for a VIM or Emacs mode, I am thinking of ZED specifically in this case. https://zed.dev/docs/vim _______________________________________________ users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
Nobody III wrote:
I would love to see VSCodium and/or Kate ported to Genode.
Yes I would love to see VSCodium ported to Genode. I had briefly considered trying to do it myself using Goa, but I feel like it would be outside my skill level currently. Although I may try at some point and see if I can make any progress on it.
To port VSCodium to Genode would mean to first port Electron which is the web app container that VSCodium runs in. It’s really just a small web browser which is running as an IDE. The VSCodium GUI front-end is JavaScript I believe.
The focus should first be porting Electron to Genode, then once that is done, VSCodium would only be little extra work I believe.
Porting Electron would also open up avenues for other applications that utilise Electron. Gnome Web, AKA Epiphany, the independent Web Kit based browser runs in electron which would mean we could also potentially port Gnome Web/Epiphany to Genode. It is really the only independent FOSS browser other than Chromium or Firefox currently. Ladybird won’t even be in Alpha till at least 2026 as stated on their website.
Jack Curran wrote:
Nobody III wrote:
I would love to see VSCodium and/or Kate ported to Genode. Yes I would love to see VSCodium ported to Genode. I had briefly considered trying to do it myself using Goa, but I feel like it would be outside my skill level currently. Although I may try at some point and see if I can make any progress on it.
To port VSCodium to Genode would mean to first port Electron which is the web app container that VSCodium runs in. It’s really just a small web browser which is running as an IDE. The VSCodium GUI front-end is JavaScript I believe. The focus should first be porting Electron to Genode, then once that is done, VSCodium would only be little extra work I believe. Porting Electron would also open up avenues for other applications that utilise Electron. Gnome Web, AKA Epiphany, the independent Web Kit based browser runs in electron which would mean we could also potentially port Gnome Web/Epiphany to Genode. It is really the only independent FOSS browser other than Chromium or Firefox currently. Ladybird won’t even be in Alpha till at least 2026 as stated on their website.
Electron is written in C++ so it looks like porting it to Genode may not be so hard? https://github.com/electron/electron
As far as I can tell, VSCode is just a lot of Typescript code running inside of electron: https://github.com/microsoft/vscode
Eclipse Theia IDE which appears to be competing with VSCode: https://news.itsfoss.com/theia-ide/
Hello everyone,
although this is a public mailing list, and you are all free to discuss topics around the Genode OS framework here, I would like to encourage you to stay on track.
C++ editors or IDEs are not specific to Genode at all, and there are a lot of spaces, where you can discuss them.
I hope you understand that there are a lot of people on this list, who subscribed it, to read about Genode related issues only, and I do not want to loose them.
If you want to chat more casual, you can also switch to #genode channels of libera.chat (IRC) or matrix.org (Matrix).
Best regards Stefan
On Tue, Jul 30, 2024 at 06:58:13AM -0000, Jack Curran wrote:
Eclipse Theia IDE which appears to be competing with VSCode: https://news.itsfoss.com/theia-ide/ _______________________________________________ users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
I hope you understand that there are a lot of people on this list, who subscribed it, to read about Genode related issues only,
<insert thumbs-up emoji here> :-)
If you want to chat more casual, you can also switch to #genode channels of libera.chat (IRC) or matrix.org (Matrix).
A Matrix chatroom! I overlooked that. Well that's just what might be needed for me to finally make the leap and create myself an account. Couldn't find a Genode chan on matrix.org using their search feature, but reconstructing the URL from that of other rooms (using the "web client") it seems like should it exist, it would be located at something like
https://app.element.io/#/room/#genode
Am I close ?
Cédric