Hmm, interesting genesis:
> When it was 2014 or 2015, we had some big events in Russia (Crimea related) so many people here were excited. I was too, so I wanted to program some new project.
https://sourceforge.net/blog/march-2020-community-choice-pro...
Cool! I just learned about this editor randomly about a week ago [1], then mentioned it on the thread about Double Commander the other day, a file manager also written in Lazarus [2].
I'm just about to get it to compile. I'm writing a Python version of the Bash script that downloads and installs all of the packages. It's a learning project so it's pretty messy but I intend to clean it up and submit it to the developers at some point.
CudaText is nice, I'm using it to write this compiling script to get to know it better. It's sort of SublimeText-adjacent but also its own thing. I already have a long list of things I want to replicate from my Sublime setup.
[1] http://lazplanet.blogspot.com/2018/05/spotlight-cudatext-hot...
The author is really responsive. I reached out about the ability to make snippets run external commands and place the output in the editor. Within a day I think he had implemented it as a plugin.
I use like 100+ of these snippets in Geany, so it was awesome to see it become a feature in another interesting new editor.
I had to change my editor every now and then in the last years, because something bothered me... the eternal search for the holy grail, so to speak. So Vim and Emacs have already fallen by the wayside. Now I'm actually stuck with CudaText. In my opinion the editor is really first class, I recommend to try it out.
For me, however, also very exciting is the realization that Lazarus/FreePascal programs generally always stand out very positively. The speed and memory efficiency is remarkable!
Screenshots etc.
Uhm yeah, that is uh, quite, ah, reminiscent, yes.
What?
What's with the CUDA reference?
It's from the Serbian word "čuda", which is pronounced "chuda". It means "miracles", and also occurs in many other Slavic languages (Russian "чуда", etc)
That got me wondering at a first glance too. But in this case, the word stands for "čuda" not CUDA.
Čuda = miracles, wonders, in Serbian (and several other languages).
And odd conglomerate of words from different languages perhaps, one even anglicized (ASCIIzed?) at that... Well, it does get the people talking, I suppose.
In trademark law, the owner of a mark (Nvidia in the case of CUDA) can usually make someone stop using a mark if it would lead to “consumer confusion about the source of the goods” (i.e. people seeing “CudaText” and assuming it has an association with Nvidia/CUDA).
IANAL, and have no idea how likely Nvidia would be to succeed in a trademark dispute with this developer. But in situations like this, it’s often good to just not use a name if a large section of your target audience could become confused upon hearing it. Even if you didn’t know about the other product when you came up with your name, and even if it’s technically legal.
Author of CudaText here. If I will get the complain from NVIDIA I can rename the project to 'CudeText', word 'cude' is 'miracle'. Now I think that similar name was a little mistake from my side, I needed to name it 'CudeText' earlier.
Perhaps it’s short for barracuda?
There's a note buried at the bottom of the page:
Disclaimer: word "cuda" is taken from Serbian language, it means "miracles".
The detailed list of features is here:
https://wiki.freepascal.org/CudaText
I did not know of this project, but it looks really good. It's nice to see projects developed in Lazarus!
Besides Lazarus itself, in my opinion after watching the video demo, this may be the best opensource software written in Lazarus/Freepascal.
Sad that I knew about this before but ignored it wrongly thinking CUDA had to do with GPUs.
Fantastic piece of software. I used it extensively under Ubuntu and Windows.
If they make it available through brew I will use it in MacOS too.
Another one ultrafast program Laz/Pas related was LazPaint.
At some point there was a NotePas too!
I thought this was going to tell me about a hardware accelerated text editor.
From 2020 interview:
SF: What is the next big thing for CudaText? AT: A mate of mine, young programmer Artem Gavrilov from Saint Petersburg, has suggested that editor rendering should be in OpenGL, and he has good experience in 3D graphics and Pascal. I am thinking now how this can be done, it’s a lot of coding even with ready OpenGL libraries. This will make scrolling in editor much smoother. And another idea: make configurable docked panels. CudaText has several panels (Code Tree, Project Manager, Console, Output, etc.) but they are locked in the side or bottom, no configuration, panel cannot be moved from side to bottom, no docking to the right. It’s not needed much but configurable panels are handy.
Ray tracing for your fonts!
Edit your text on a virtual beach with VR goggles.
There are multiple GPU-accelerated terminal emulators; I suppose, why not a text editor?
The amount of work put into this from single person seems astonishing. Per a forum post the author doesn't even care about the donation page working. I wonder how people get to this point in their life that they can spend all days just coding their oss projects for fun. It seems so out of reach for me.
You are exaggerating, I develop it for 6-7 years, and not every day is coding.
How does it compare to Sublime Text? This seems to be a FAQ but the link appears to be broken, and I didn't find a corresponding entry in the Wiki.
The proper wiki page - https://wiki.lazarus.freepascal.org/CudaText_VS_other_editor... .
1- CudaText advantages over Sublime Text 3; 2- CudaText advantages over Visual Studio Code; 3- CudaText disadvantages compared to Sublime Text / VSCode.
Where did you get the broken link?
On the github.io landing page there is a link to https://wiki.freepascal.org/CudaText#Advantages_over_Sublime...
Looks like there is no macos aarch64 version on the sourceforge binary download site? Just seeing amd64 (unless that download includes aarch64 compatibility)
It (macOS aarch64) will be there in some weeks, maybe in about 10 days. Older version - https://sourceforge.net/projects/cudatext/files/release/1.16...
macOS AArch64 version needs this to be run: xattr -cr /Applications/CudaText.app/
Cool, thank you! Will be trying it out at work..
This editor is crazy fast and is only a 15MB download (.deb)!
CudaText has its slow parts (scrolling by Mouse-wheel is not smooth), we are limited by the fact of missing hardware acceleration. But it has its fast parts: https://wiki.lazarus.freepascal.org/CudaText_VS_other_editor...
Product Marketing Issue:
As a user of Hacker News, I don't care that it's open-source, cross-platform or written in Lazarus.
> As a user of Hacker News, I don't care that it's open-source, cross-platform or written in Lazarus.
Any piece of software being open source is generally a good thing, since it's less likely that such projects might die off and disappear without someone (even yourself) being able to maintain them, or even add features/fix bugs.
Being cross platform is also a great quality, especially since otherwise you might find yourself using different pieces of software on different OSes, which might be a bit cumbersome. For example, there is no Notepad++ on Linux (using Wine is a bit suboptimal) and so you might find yourself looking in the direction of something like Notepadqq, but obviously it might not give you 1:1 the same experience. That's not the case with something like Visual Studio Code, or even CudaText!
And finally, it's always great to see Lazarus software, it's one of the nicer ways to create GUI software and largely sidesteps some of the framework related issues that other languages face, thanks to its lcl: https://en.wikipedia.org/wiki/Lazarus_Component_Library
They actually have an entire gallery of software written with Lazarus/FreePascal and it's rather interesting to behold: https://wiki.freepascal.org/Projects_using_Free_Pascal
> ...there is no Notepad++ on Linux...
Notepad Next, is a cross-platform reimplementation of Notepad++. https://github.com/dail8859/NotepadNext
> And finally, it's always great to see Lazarus software, it's one of the nicer ways to create GUI software and largely sidesteps some of the framework related issues that other languages face...
The insanity involved around hating on Object Pascal is just a damn shame. Other languages wish they had something like Lazarus or Delphi.
Lazarus is fantastic, for the desktop. And so are a lot of software projects created with Lazarus. The few gripes that I have with the project, is the very odd refusal to fully embrace mobile development.
They have a kind of half-way solution, for just Android and not iOS, from an independent developer not on the Lazarus team and who they seem to want to keep at an arm's length. I don't know if Embarcadero (Delphi) is paying them to not touch mobile development, but it's quite weird that they don't want to go in that very obvious direction. Lazarus as a complete solution for both the desktop and mobile, would have people shook. However, the clock is ticking, because there are a number of more comprehensive desktop and mobile development solutions coming. Lazarus should have and arguably could have come out with their combined solution years ago. But, as it is, they are great for the desktop. Nobody can take that away from them.
I've heard these arguments before and they sound good in theory, however in real life I haven't seen it work that way.
Projects dying off depends on developing a revenue stream or being backed by some company with a real revenue stream. Never solely about being open source. I have another comment about this when I talk about Lazarus below.
Being cross-platform sounds great in theory. However, most users don't use multiple OSes. Also, being cross-platform is extremely hard... for early-stage software you're better off making it work well on one platform, then extending when you achieve some traction with users. Being cross-platform with one tech also removes the chances of benefitting of platform specific APIs that might make it work better.
Lazarus, while I find it easy to get enthusiastic about, I'm old enough to have gone through a couple of cycles. The reason Electron with all its issues (memory consumption, app size) is winning is because there's a mass of developers that know how to build apps with HTML/JS/CSS. Like Haskell or OCaml or other awesome languages, if there's no mass of people that can contribute, the ecosystem never takes off — and ecosystem is the main trait of languages taking off. This is why an OSS project written in Lazarus using some relatively unknown UI APIs is unlikely to survive — I hope it does though.
As a user of "Hacker" News, you are potentially .... a hacker, who is quite likely to care if it is possible to hack on it in general (hence it matters that its open source) and you also likely care if it is easy for you to hack on it in particular (hence the implementation and plugin languages matter too).
Let's consider Visual Studio Code. It's OSS — still, I read the codebase a couple of times and I wouldn't venture into hacking into it — it's too large.
Being OSS enables hackability, it doesn't provide or guarantee it.
I wasn't claiming that OSS necessarily enables a specific individual to be able to hack on it.
Just in case of your example if as a TS programmer I learn about a new code IDE that is open source and is written in TS, I might be more motivated to go check it out and explore it. So that fact does deserve mentioning - that is all I was saying. Whether or not I eventually end up contributing to it depends on a lot of factors and is besides the point.
Hacker News is a largely technical community. If there was any community that would respond to your product being open source, interoperable, or written in a niche language, this would be it.
So it started as a celebretion of the annexation of Crimea by Russia?
The CudaText author is here. No, I did not celebrate the Crimea 'annexation' (in local Ru talks, we cannot name it 'annexation', we must name it 'reunion'). But I was reading such big amount of news at that time, in 2014, that I was excited only from this wave of news. Many patriotic people in Rus were happy and welcomed that. Many opposition people in Rus were not happy and did not welcome that. But the wave of news was very big. For me the Crimea was not positive news. I never have been in Crimea. I never got the FREE ticket to rest in Crimea. The rest in Crimea is not cheep. In 2014 and in 2022. It costs big amount.
Yesterday was about to install CudaText, but as usually with such software, before jumping to anything started to read about your project and you and accidentally got to that quote mentioned above. I must admit, it got me spooked. I have a lot of respect to people who do contribute to open source so I do to you, but in current situation my concern is actually safety and trust.
For example I don't think I can give you a trust to binary packages, like in this case:
https://aur.archlinux.org/packages/cudatext-gtk2-bin
Even if they are not containing anything malicious at this moment, it can happen at any time later, especially after gaining a trust of significant amount of devs. And even with your best intentions I can clearly see a scenario where it will happen against your will or even without your knowledge. You know - it is different thing to trust you, and different thing to trust your state...
Anyway, hope this whole war madness (or "special operation" as you're allowed to call it) will end soon.
I support your wish about the war or "special operation".
About trust to binary packages: some ppl do build CudaText from source, we have even the bash-script to download the sources + compile them. https://wiki.lazarus.freepascal.org/CudaText#How_to_compile_...
If you afraid to get Pascal code with backdoors: Pascal code does not use any internet libs. Python Addons-Manager uses inet-libs though.
Any chance you can add code completion to python terminal? That would make cuda-text a super-editor on the level of vim and emacs but easier to use.
'Python terminal' is 'Console panel', do you mean it? Yes we have the plugin for that! "Plugins / Addon manager / Install", item "Console auto-completion". Ctrl+Space hotkey will work in console.
> Disclaimer: word "cuda" is taken from Serbian language, it means "miracles".
[uncomfortable silence]
The word you are referring to is "čuda" or equivalently in cyrilic "чуда" pronounced "chuda".
It could be, "With all the excitement going on, finding a nice programming project to distract me seemed like a good idea."
We need to make sure this isn’t the neutral-connotation usage of the word “excitement”.
A plane crashing into the neighbors house can be “exciting”.