There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

Ramin_HAL9001

@[email protected]

Software engineer, functional programming enthusiast.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

Ramin_HAL9001 ,

She had a history of horrible policies.

The idea that voters vote based on policy rather than loyalty is totally incomprehensible to the Democratic party.

The anti-AI sentiment in the free software communities is concerning. (lemmy.world)

Whenever AI is mentioned lots of people in the Linux space immediately react negatively. Creators like TheLinuxExperiment on YouTube always feel the need to add a disclaimer that “some people think AI is problematic” or something along those lines if an AI topic is discussed. I get that AI has many problems but at the same...

Ramin_HAL9001 ,

No, it is because people in the Linux community are usually a bit more tech-savvy than average and are aware that OpenAI/Microsoft is very likely breaking the law in how they collect data for training their AI.

We have seen that companies like OpenAI completely disregard the rights of the people who created this data that they use in their for-profit LLMs (like what they did to Scarlett Johansson), their rights to control whether the code/documentation/artwork is used in for-profit ventures, especially when stealing Creative Commons “Share Alike” licensed documentation, or GPL licensed code which can only be used if the code that reuses it is made public, which OpenAI and Microsoft does not do.

So OpenAI has deliberately conflated LLM technology with general intelligence (AGI) in order to hype their products, and so now their possibly illegal actions are also being associated with all AI. The anger toward AI is not directed at the technology itself, it is directed at companies like OpenAI who have tried to make their shitty brand synonymous with the technology.

And I haven’t even yet mentioned:

  • how people are getting fired by companies who are replacing them with AI
  • or how it has been used to target civilians in war zones
  • or how deep fakes are being used to scam vulnerable people.

The technology could be used for good, especially in the Linux community, but lately there has been a surge of unethical (and sometimes outright criminal) uses of AI by some of the worlds wealthiest companies.

Ramin_HAL9001 ,

If you get the government to simply declare everyone else “terrorists” then there is no need for rule of law anymore, you can do whatever you want! Because they are by definition worse than anything we do to them. How convenient for those states with plans for committing genocide, it doesn’t count as genocide if you are mass-murdering terrorists.

This strategy of the government calling every troublesome minority ethnic group anywhere “terrorists” got kicked into high gear when the US government started using 9/11 as an excuse to commit war crimes and remove restrictions from police forces (like the right of habeas corpus), and it has been a constant slippery slope since then. Nowadays the Biden administration officially considers the “Anti Fascist” movement in the US “terrorism,” although no one in government refers to fascist mass shooters as “terrorists.” Gee, I wonder why they would do that?

Ramin_HAL9001 OP ,

Thanks! I just tried it out, it looks nice! I’ll stick with it for a bit.

Ramin_HAL9001 , (edited )

Emacs.

Emacs is an app platform in and of itself, and the vanilla installation comes with dozens of its own apps pre-installed. Like how web apps are all programmed in JavaScript, Emacs apps are all programmed in Lisp. All Emacs apps are scriptable and composable in Lisp. Unlike on the web, Emacs encourages you to script your apps to automate things yourself.

Emacs apps are all text based, so they all work equally well in both the GUI and the terminal.

Emacs comes with the following apps pre-installed:

  • a text editor for both prose and computer code
  • note taking and organizer called Org-mode (sort of like Obsidian, or Logseq)
  • a file browser and batch file renamer called Dired
  • a CLI console and terminal emulator
  • a terminal multiplexer (sort-of like “Tmux”)
  • a process manager (sort-of like “Htop”)
  • a simple HTML-only web browser
  • man-page and info page browser
  • a wrapper around the Grep and Find CLI tools
  • a wrapper around SSH called "Tramp"
  • e-mail client
  • IRC client
  • revion control system, including a Git porcelain called "Magit"
  • a “diff” tool
  • ASCII art drawing program
  • keystroke recorder and playback

Some apps that I install into Emacs include:

  • “Mastodon.el” Mastodon client
  • "Elfeed" RSS feed reader
  • "consult" app launcher (sort-of like “Dmenu”)
Ramin_HAL9001 , (edited )

Of course people who pull the power plug to exit Vi would be the type of people to confuse app platforms with operating systems.

Ramin_HAL9001 ,

How do you think one should get started with Emacs? Should they start start with regular GNU Emacs or should they install one of the “distros”?

I always recommend using the default setup for any software. The same goes for learning GIMP, Krita, Blender, FreeCAD, or whatever else, even though you can customize them all to your liking.

It is usually a good idea to try and learn the workflow that was intended by the people who developed this software, you could learn something from trying to use the computer in the same way that the professionals do. Same for Emacs: professional software developers have used it for almost 50 years, the default keyboard shortcuts are set the way they are partially for random historical reasons, but partially because they often make a lot of sense.

If you are interested, please check out my blog series on getting started with Emacs, called Emacs for Professionals

Ramin_HAL9001 ,

Emacs is a religion, or an OS

Philosophy is a subset of religion, and there is a definitely an Emacs philosophy about making absolutely all software hackable, and controlling the computer using text.

App platforms are a subset of operating systems. People confuse the two because most app platforms are inseparable from the operating system on which they run. But some software, like the Web, or Java, or to some extent .NET/Mono, are app platforms that run the same apps across multiple operating systems. Emacs is an app platform.

Ramin_HAL9001 , (edited )

I wrote a few articles on my blog for people in your situation, who are mostly only familiar with Windows and/or Mac and want to learn Linux more in depth.

https://tilde.town/~ramin_hal9001/articles/2022-02-03_advice-for-people-who-want-to-learn-linux.html – This article is kind of an overview of the Linux learning process. The point of this article is to teach you what it is you need to learn about so that you set your own curriculum. Once you understand what a few of the basic things are, you can look up your own tutorials on how to learn each thing.

https://tilde.town/~ramin_hal9001/articles/2022-04-28_how-to-pick-a-linux-distro.html – This article is for people who are overwhelmed by the number of choices for Linux distro. The bottom line is: don’t over-think it, just pick a mainstream distro like Mint, Ubuntu, or Fedora. There is like a 99.99% chance that each of these will just work as soon as you install it, no weird issues with audio, graphics, WiFi, BlueTooth, security updates, or anything else. Also, a lot of the “choices” you see among all those distros are only skin deep – differences in the default theming (i.e. the default “desktop environment”, a concept explained in the “advice” article above). But really they are all using the same basic software packages so there very little substantive difference between any of them except in their app stores, and the mechanism they each use install software.

If you have any questions, feel free to ask me here. I can clarify here, and also update my blog posts if you think anything is confusing.

Ramin_HAL9001 , (edited )

As many here have said, but I will emphasize: learn the Bash programming language. Linux Survival is a very good start, and you can just start experimenting right away in your own terminal on your own computer.

To go more in depth, you can read through the manual on your computer by typing “info bash”. The Info documentation browser is a command line app. You may need to install it using your package manager (“apt-get” or “pacman” or “dnf”).

In the “info” app, you can navigate with the arrow keys, pressing enter on hyperlinks, typing l (lowercase “L”) works like the “back” button in a web browser, typing r (lowercase “R”) works like the “forward” button. Info also lets you search the index by pressing i (lowercase “I”) then entering your search in the prompt, or search the full text by pressing s and entering your search in the prompt. And q quits back to the command line prompt. “Ctrl-Z” pauses the “Info” app and drops you back into the command line, and you can resume your “info” session using the “%” (percent sign) command.

Another thing that can help is to learn about the GNU “Coreutils”, this is a suite of commands usually installed into /usr/bin or /bin which provides helpful command line utilities. These are commands like cat, wc, sort, cut, ls, du, cp, ln, chmod and many others. Read through the Coreutils Info manual by typing “info coreutils”.

And I will also reiterate recommendations from others: learn how to use Vim and/or Emacs. Vim has the more difficult learning curve but is extremely useful for writing scripts. Emacs is better though because it lets you split-screen with manual pages, and copy-paste commands between Man pages, “Infodoc” documents, the shell, and/or a text file, all using only keyboard commands. I think it makes it much easier to learn since everything is integrated together. Ask the Emacs community how to get started if you are interested.

Ramin_HAL9001 ,

Steps are being made toward Guile Emacs integration. The work is mostly being done by Robin Templeton, who (last I heard) works at the Spritely Institute. And as I understand, there are other people pushing on the Guile in Emacs front as well, so you may not have to wait long.

Have you considered trying to setup Kakoune bindings in Emacs? For example like this: github.com/jmorag/kakoune.el

Ramin_HAL9001 , (edited )

It’s a i3-6006U with just 4.0GiB of RAM.

Emacs is considerably more lightweight than a modern Web browser, or any app based on Electron.js (e.g. VSCode) so a computer with those specs is more than powerful enough to run Emacs. If you use version 29.1 or later, Emacs comes with “libgccgit” which will spend a little time pre-compiling Emacs code to very fast native code.

Emacs used to have a reputation for being slow back in the early 1990s when 32 bit personal computers were just beginning to gain popularity. But nowadays when everyone downloads FlatPak and AppImage and Snap apps which install many hundreds of megabytes of code, Emacs is relatively small and light.

Also, Guile Emacs and Guilemacs are two different projects, right? Because I also happen to come across this, and I’ve been interested in this project as well.

The whole history of Guile and Emacs is here on the Emacs Wiki.

So there are a few projects related to Guile and Emacs. The link you provided me by Ken Raeburn is a fork of older versions of both Guile and Emacs, it seems it has not been worked on in about 20 years, unfortunately.

The project by Robin Templeton is also a little bit out of date, but still somewhat actively developed. You must build it from source from a patched version of (I think?) Emacs 26 or 27, I am not sure which it was. It works by loading libguile (the Guile interpreter/compiler) into Emacs so you can run Scheme code, and it also provides Scheme “foreign function” wrappers to the Emacs C APIs so you can do everything Emacs Lisp does in Scheme by importing the elisp-functions Scheme module. (There is an example of how to use it on the Emacs Wiki.)

I did hear Robin say in a recent Spritely chat that it could be made to work on Emacs 29 with not too much effort, they just haven’t had time to do it.

If you are interested in Scheme, you might also want to check out the Edwin text editor which is built-in to the MIT/GNU Scheme compiler, you launch it from the Scheme REPL with the (edit) function. It is a clone of Emacs 19 (a very old Emacs) written entirely in Scheme, but unfortunately it is a little too old to be useful nowadays, in my opinion. Still, you could learn something by reading the Edwin source code.

Finally there is TeXmacs, which is a full WYSIWYG application with a built-in LaTeX rendering engine designed for writing scientific papers, and it includes the Guile Scheme compiler for writing extensions, although I would not call TeXmacs a general purpose programming text editor the way Emacs is.

Ramin_HAL9001 , (edited )

That looks like artwork from The Lispy Gopher Show. I love it!

EDIT: yep, artwork by Tomas Prahou a.k.a. @pmjv .

Janus, a simple text editor

For the past few months I have been working on a simple windows notepad like text editor. It’s nothing special, but when I first switched to linux I looked around and it took me a while to find leafpad. Unlike leafpad however, Janus uses gtk3, a much more modern toolkit then gtk2, it can display and modify binary data, and it...

Ramin_HAL9001 ,

As someone who is trying to develop my own Linux destkop apps, I can tell you that the day that I switch to Qt is the day Qt provides a feature that works as well as GObject Introspection (GI) does for Gtk. GI creates a cross-platform database of objects, properties, and signals, for auto-generating language bindings, so you can customize your Gtk programs with scripting languages (Python, Lua, Vala, JavaScript, Scheme). It is a relatively simple task to bind any programming language to GObjects thanks to GI.

Qt does have a QMetaObject system which is similar, but C++ is a difficult language to bind to on most operating systems because of how native language functions are labeled in the library code – names are “mangled”, a hack to work around the miss-match between object libraries features (.so or .dll files), which do not provide the ability to “overload” functions, and C++ libraries features, which do provide this ability. The function/method overloading feature is used quite often in any C++ program. But decoding mangled names for language bindings can be very error-prone without the sort of automation that GI provides.

As it is now, really the best way to develop Qt apps is to use C++, with Python for scripting, because these languages are the most well-supported by Qt (C++ natively, Python being the most stable and well-maintained “foreign” language for Qt). And I like neither of these two language. Gtk gives you a much larger selection of scripting language choices, even though it is programmed in C, and this is thanks to how well GObject Introspection works.

Ramin_HAL9001 , (edited )

I have been using both professionally for at least 15 years and IMO without a doubt Qt is so much easier to use, read and work with it’s not even a comparison.

I also use Qt professionally, and it is indeed an excellent GUI library. I have absolutely no complaints with how well it is designed and how easy it is to use, and I am consistently amazed by how beautiful the results are, especially with desktop environments like KDE Plasma.

My complaint, which is really a deal-breaker for me, is that Qt effectively forces you into using C++ and Python and/or QML+Quick. For the non-professional software I develop, I want my apps to be scriptable by end users, and I do NOT want to force them to choose between only Python or Quick as their scripting language. For building scriptable, truly cross-platform GUI apps, Gtk is the only game in town.

Gtk is much harder to use only if you are coding in C, because it depends so heavily on the C preprocessor to hack together the infrastructure that C++ has built-in. But because it is so easy to bind scripting languages to Gtk, you only need to program a few very core features in C, the rest you can program in any scripting language of your choice. This very important feature I think is a worthwhile trade-off for making it harder to code in C, especially if you are able to code the larger portion of your application (which is almost always the case) in a scripting language like Lua or Scheme. (Although I admit, most Gtk scripting is done in Python, just as it is with Qt.)

Plus in comparison to Qt there are almost no commercial outfits using Gtk professionally and selling products based on it.

Perhaps, but I would point out that both Canonical and RedHat (now IBM) are both heavily invested into developing Gnome, and I believe most of the paid Gtk development has been funded by these two companies.>

Ramin_HAL9001 ,

It was also the plot of the Terminator series of films. Well, except for the detail that the AI controlling the aircraft (called “Skynet”) became “self aware” and that is what caused it to launch all the nukes to kill all the humans.

So how it differ from Terminator’s “Skynet” is that these real life AI are being controlled by genocidal maniacs (the largest concentration of whom seem to live in the US and Israel at present) and they are setting these things to “auto-kill” mode, like what happened in Gaza recently. And the genocidal maniacs gleefully ignore international law, saying “you want to stop me, you and what army?” So who is to keep them from turning the robots against you and me?

Ramin_HAL9001 ,

According to the story told by Schwarzenneger’s character in part 2, Skynet started out controlling only in US Air Force drones (hence the name), and was soon after connected to everything else. Eventually human decision making was removed from the control of the system.

Ramin_HAL9001 ,

Came here to say this. I once cut open a 9-volt battery and discovered it was really just 6 AAAA batteries wired in series.

Ramin_HAL9001 , (edited )

They do! /bin has the executables, and /usr/share has everything else.

Apps and executables are similar but separate things. An app is concept used in GUI desktop environments. They are a user-friendly front end to one or more executable in /usr/bin that is presented by the desktop environment (or app launcher) as a single thing. On Linux these apps are usually defined in a .desktop file. The apps installed by the Linux distribution’s package manager are typically in /usr/share/applications, and each one points to one of the executables in /usr/bin or /usr/libexec. You could even have two different “apps” launch a single executable, but each one using different CLI arguments to give the appearance of different apps.

The desktop environment you use might be reconfigured to display apps from multiple sources. You might also install apps from FlatHub, Lutris, Nix, Guix, or any of several other package managers. This is analogous to how in the CLI you need to set the “PATH” environment variable. If everything is configured properly (and that is not always the case), your desktop environment will show apps from all of these sources collected in the app launcher. Sometimes you have the same app installed by multiple sources, and you might wonder “why does Gnome shell show me OpenTTD twice?”

For end users who install apps from multiple other sources besides the default app store, there is no easy solution, no one agreed-upon algorithm to keep things easy. Windows, Mac OS, and Android all have the same problem. But I have always felt that Linux (especially Guix OS) has the best solution, which is automated package management.

Ramin_HAL9001 , (edited )

Whenever I open the symlink, does the software (player) understand «oh this file seems like a symlink, I should go and open the original file», or it’s a filesystem level stuff and software (player) basically has no idea if a file I’m opening is a symlink or the original movie.mp4?

Others have answered well already, I just will say that symlinks work at the filesystem level, but the operating system is specially programmed to work with them. When a program asks the operating system to open a file at a given path, the OS will automatically “reference” the link, meaning it will detect a symlink and jump to the place where the symlink is pointing.

A program may choose to inspect whether a file is a symlink or not. By default, when a program opens a file, it simply allows the operating system to reference the file path for it.

But some apps that work on directories and files together (like “find”, “tar”, “zip”, or “git”) do need to worry about symlinks, and will check if a path is a symlink before deciding whether to reference it. For example, you can ask the “find” command to list only symlinks without referencing them: find -type l

Ramin_HAL9001 , (edited )

Awk is a programming language designed for reading files line by line. It finds lines by a pattern and then runs an action on that line if the pattern matches. You can easily write a 1-line program on the command line and ask Awk to run that 1-line program on a file. Here is a program to count the number of “comment” lines in a script:


<span style="color:#323232;">awk 'BEGIN{comment_count=0;} /^[[:space:]]*[#]/{comment_count++;} END{print(comment_count);}' file.sh
</span>

It is a good way to inspect the content of files, espcially log files or CSV files. But Awk can do some fairly complex file editing operations as well, like collating multiple files. It is a complete programming language.

Sed works similar to Awk, but it is much simplified, and designed mostly around CLI usage. The pattern language is similar to Awk, but the commands are usually just one or two letters representing actions like “print the line” or “copy the line to the in-memory buffer” or “dump the in-memory buffer to output.”

Ramin_HAL9001 ,

I don’t understand this guy’s argument at all. First of all, he isn’t using any shell that I know about, he seems to have invented his own, and the command line arguments he uses are specific to his own shell. He doesn’t explain how these command line arguments work in terms of POSIX system calls, so I can’t follow along with what he is actually doing. As far as I can tell, these are security issues with his own software, not with Unix or Linux.

If you are worried about file mutability, you can use ZFS or BTrFS or BCacheFS. All of these filesystems have a snapshot function, so if any changes (e.g. file encryption by ransomware attackers) are made you can reboot and roll back the changes, unless the attackers figure out a way to get root access and delete your snapshots. But if an attacker has gained root access to your computer, that is a much more serious issue and not really in the scope of filesystem security or file mutability.

The snapshot and rollback feature also exists in NixOS and GuixOS, where your operating system kernel and all software installed is part of a snapshot that can be rolled back, if the system becomes unbootable, you can rollback from within the GRUB boot loader. Again, all software installation is managed by a service that runs for you at root level so you never need sudo to install software, and the software you install never effects any other user or the operating system. So the only way to hack this is to gain root access and alter the content of the Guix or Nix “store” database with malicious code, but again, root access is a much bigger issue than what we are talking about.

So yeah, the argument stated in this video makes no sense to me.

Ramin_HAL9001 ,

Yes! Emacs has already taken over most of my desktop environment apps with the exception of the web browser and a few apps like Blender and Gimp. I haven’t gone as far as you, getting each Emacs buffer to display in its own frame in is own WM-level window, but that would make for a more immersive experience. Also, your color scheme is similar to the one I use now. I love it.

I can’t wait for the day when software written in Lisp takes over my window manager, then my panel, then my session manager, then my whole operating system kernel.

Ramin_HAL9001 ,

That might work if I re-bound the split-window function to launch a new Emacs client, because this is the function that most other Emacs functions use to split the frame into windows.

But I think a better approach would be to just add a single rule function into the display-buffer-alist that always asks for a new frame no matter what the input is.

Mickey Peterson wrote an article on how Emacs manages its own windows, and the Elisp Manual on Windows is pretty good too.

Ramin_HAL9001 ,

Deep Space Nine made it absolutely clear that Section 31 is an illegal black-ops org with garb somewhat reminiscient of Nazi storm troopers, they were the bad guys.

Yeoh has described it as “Mission: Impossible in space,” and likened the tone to the Guardians of the Galaxy movies.

Mission: Impossible, the longest-running, pro-CIA anti-socialist propaganda series in US history. OK… so now Star Trek is about making illegal black-ops Nazis look cool?

Fuck these fucking producers. I want my gay space communism back.

Ramin_HAL9001 , (edited )

“Illegal?” DS9’s S31 was protected by Starfleet Command. They were completely untouchable.

They can be both protected and illegal. Sisko noted that the organization was completely antithetical to the laws of Starfleet, e.g. committing genocide against the Changlings of the Dominion (they used the actual word “genocide” to describe what Section 31 did in the show). But their existence was neither denied nor acknowledged by Starfleet. This is part of the reason why he asked Bashir to act as a double-agent.

It was clearly analogous to the CIA, which for decades has been collecting money from the illegal drug trade and supporting terrorist organizations around the world, all in the name of “national security.” It was a critique of the US government, like most of the Star Trek episodes that deal with the moral shades of gray within the laws of Starfleet. It is clear from their political commentary that the shows morality was staunchly anti-fascist.

And this new film on Section 31 completely reversing their former politics and joining with and celebrating the fascists is more than I can stomach.

Ramin_HAL9001 ,

they’re not really illegal at all, are they?

If a police officer commits murder but the D.A. covers it up and the officer is never charged with a crime, does this make murder by the police legal?

Yes, it is illegal, and the government does not enforce laws consistently. The point is, this is a moral failing of Starfleet/the US government. This is an injustice.

Ramin_HAL9001 ,

I am upvoting this thread for being relevant to the discussion, but man, this article makes me sick. They are completely ruining Star Trek.

Ramin_HAL9001 , (edited )

Until the ADL gets rid of their pro-genocide leadership and spokespeople, I can’t take any of their reports seriously. Its a shame, since this particular report seems to be more concerned with anti-Trans and neo-Nazi propaganda which is indeed a real problem, and their research here would otherwise probably be very useful. They have really damaged their own reputation this past half year by equating support of Palestinian victims of genocide with antisemitism.

Ramin_HAL9001 , (edited )

Poisoning the well

Yeah, that seems to be the M.O. of the Anti-Defamation League with regard to anti-zionism: poison the well against anyone who might feel empathy with the Palestinian people before they have a chance to speak, by equating them with antisemitism and Nazis.

Ironically, the Palestinian people are technically Semitic people also, but their wells are being literally poisoned by white Phosphorus bombs “made with [white] pride in the USA,” and dropped by different Semitic people who have the privilege to do that.

This is why white supremacy is so evil, it is so arbitrary. Who gets counted as “white” and that dividing line between enjoying privilege and being a victim of mass murder changes from day to day, and place to place. Zionism just happens to include Jews in that definition of white (while also excluding Palestinians), where as antisimitism excludes Jews, but both are white supremacy.

Ramin_HAL9001 , (edited )

Why are you trying to distract from that?

I am not trying to distract from that, I thought I made myself clear:

this particular report seems to be more concerned with anti-Trans and neo-Nazi propaganda which is indeed a real problem, and their research here would otherwise probably be very useful

But if Jonathan Greenblatt of the ADL is defending the genocide of Palestinians, that is some pretty important context. If there happens anything in the report about pro-Palestine protests being equated with neo-Nazis, you need to take those parts with an extra few grains of salt.

Ramin_HAL9001 , (edited )

To which I indicated that you were poisoning the well.

So “context == poisoning the well.” That is why you suggest we should just uncritically accept all news you read online while erasing the historical context behind it. I see, so you are also one of those pro-genocide fascists posing as an ally of LGBTQ. That is just how you fascists are: every accusation is a confession, and you accuse me of “poisioning the well.”

Ramin_HAL9001 ,

Now you say the word “fascist” is an ad-homenim, just like every neo-Nazi I have ever had the misfortune of meeting.

You are a fascist. That is fact, and if you are insulted by that, that is your own problem, not an ad-homenim on my part.

Ramin_HAL9001 , (edited )

I am genuinely surprised that the US only abstained, not vetoed, this resolution. Something like the past 40 or 50 similar resolutions to help the Palestinian victims of war and occupation were all vetoed by the US over the past 30 or so years. I wonder if this might actually be the first such resolution not vetoed by the US in… I don’t even know how long.

It is just so typical of a fascist state like the US what they do at the UN, where they talk big about enforcing international law, but then at every opportunity the US simply excepts itself (and Israel) from the law. They take exception by vetoing every single UN resolution ever passed toward the peaceful coexistence of ethnic Jews and Palestinians, and so the US keeps this White Supremacist project that is Israel to commit crimes against humanity continuously for decades, to such a severe degree that it spirals into a full-on genocide.

Now, finally, the US does something to NOT overtly support White Supremacist genocide. That amazes me.

Planning on moving over from Windows 10 to Linux for my Personal Work Station. Can't decide which OS I should switch to.

Windows has been a thorn in my side for years. But ever since I started moved to Linux on my Laptop and swapping my professional software to a cross platform alternative, I’ve been dreaming on removing it from my SSD....

Ramin_HAL9001 ,

I would go with Fedora or Mint, both for their software support and stability. Personally I like Mint over Fedora, I think it has a larger selection of software packages but I could be wrong.

Btrfs is more stable nowadays, I wouldn’t worry about that. And anyway you can choose XFS or Ext4 during installation while setting up your disk partitions.

If you are worried about a particular software package being too old, try installing FlatPaks instead, or use the Nix or Guix package managers which can co-exist easily with any other package manager.

Ramin_HAL9001 ,

The Voyager theme song is by far my most favorite, probably of any TV series.

Ramin_HAL9001 , (edited )

@joeldebruijn the /run/user/1000 directory is an in-memory file system of a fairly small size. The operating system creates it for you to store certain things that are for your user account only. The permission settings on this directory forbid any other user on the system (except for “root”) to see what is inside. This makes it safe to store secret information that only you should know.

One typical example of something stored in this directory would be your plain text (unencrypted) password database if you use a password manager. No other user but you (and “root”) can see it, and it is in-memory only so it is not accidentally copied to your persistent memory (HDD or SSD disk drive) where it might be removed and read by hackers if someone steals your computer from you. At the same time, any program running on the system that was launched by you and only you has access to your passwords so you don’t need to remember passwords for everything. (Actually it is a socket to a server containing your unencrypted password database in memory, it is probably not actually a file in that directory.)

Other things that go in this /run/user/1000 directory are socket connections to the desktop bus (allows for things like copy-and-paste or drag-and-drop to work between programs), socket connections to your audio mixer (allows you do things like to listen to music and do video chat at the same time), and a record of what external media devices you have connected to the computer which you are using via GVFS, and so on.

Also, the number 1000 is your user ID number assigned to you by the operating system. If you create other accounts, they will have ID 1001, 1002, and so on, and each of them will have a directory with that number created in the /run/user directory for them when they login.

Ramin_HAL9001 ,

Is that icon theme available outside of Haiku OS?

Ramin_HAL9001 , (edited )

Yes, it is mostly appliances, but an (informal?) stated goal of NetBSD is too run on all computing hardware.

  • FreeBSD = user-friendly free Unix (plus ZFS and jails 😀)
  • OpenBSD = very secure free Unix (no ZFS 🙁 but has the VMM hypervisor 😀)
  • OpenIndiana = user-friendly free Unix that runs old Solaris software (plus ZFS and zones 😀)
  • NetBSD = runs on any computer chip ever built within the past 40 years (some ZFS support, but no zones, jails, or VMs 🙁)

Naturally, that makes NetBSD a good choice for appliances, especially ones that might only have limited memory.

(Here is a quick explainer on the difference between Jails, Zones, Containers, and VMs)

EDIT1: someone pointed out to me that ZFS is not supported on OpenBSD. Sorry about that everyone.

EDIT2: there is a ZFS driver for NetBSD

Ramin_HAL9001 ,

Thanks, I had to double check that but you’re right, ZFS isn’t on OpenBSD. What a shame. Anyway I edited my above post.

Ramin_HAL9001 ,

According to the wiki, ZFS “works well” but doesn’t seem to be as stable as in FreeBSD or OpenIndiana, and is not enabled by default so you have to update your rc.conf file to build the ZFS drivers.

How can i rsync over my network without using ssh?

I have 6 devices that i rsync to a central location to back them up. Ive been using ssh as the -e option. Problem is i use public key with passphrases, meaning to backup all six i need to go to each device and run the backup script. Since i typically backup /etc, /home, and /root this means entering sudo and the ssh passphrase...

Ramin_HAL9001 ,

I am also going to recommend the same solution as @matcha_addict in this comment: lemmy.ml/comment/7998407

You can create a key pair that is specifically just for this kind of backup transaction.

To limit its affects, create a user and group on each of the devices that are highly restricted.

This is actually the most secure solution that doesn’t require an interactive password prompt. The passwordless key only serves this one purpose and has small attack surface.

Basically, you can tell SSH to allow root login on certain devices by setting up a root key pair. You configure SSH on the target device such that when it logs in, the login must run a script or a single command instead of running a shell, this limits what attackers can do if they somehow steal your private keys. You can also keep these private keys in your SSH agent so you only have to enter their passwords once, this will allow you to run remote commands without a password.

I would recommend also exploring the possibility of setting up an Rsync Daemon on each remote device, it keeps an Rsync process running on a remote device and listens for connections from Rsync clients. linuxconfig.org/how-to-setup-the-rsync-daemon-on-…

On an unrelated topic: you might also want to look into using Btrfs and making and transferring snapshots to other devices.

Ramin_HAL9001 ,

I guess the Btrfs snapshopt approach is not possible for your setup since the devices you want to backup are not Btrfs and cannot create snapshots.

Yes, the snapshots will be the size of the whole partition, I had not thought about that problem. I do not know if it is possible to create incremental snapshots with Btrfs.

Ramin_HAL9001 ,

I like it! What I would have done differently: use the original colors, the deep blue color for the window decoration in Windows 98 is quite different from the color you are using. Also I would use a green wallpaper of a shade closer to the default on Windows 95/98, and an icon theme with beige and yellow icons.

I have actually been wanting to do something like this with the old Mac OS 7 “Platinum” theme, modernizing it for Xfce so it looks like the old Mac OS 7 in spirit, but not exactly like Mac OS 7 the way most immitation Platinum themes try to do.

Ramin_HAL9001 ,

I had a copy of that book to, also bought it circa year 2000.

Ramin_HAL9001 ,

How did you get a Sun Sparc 5 and Ultra 60 as a high school student? You were able to get them used from a college that had recently upgraded or something?

Has anyone here built a Beowulf Cluster? (spinoff.nasa.gov)

A university near me must be going through a hardware refresh, because they’ve recently been auctioning off a bunch of ~5 year old desktops at extremely low prices. The only problem is that you can’t buy just one or two. All the auction lots are batches of 10-30 units....

Ramin_HAL9001 ,

Someone with more expertise can correct me if I am wrong, but the last I heard about this, I heard that cluster computing was obsoleted by modern IaaS and cloud computing technology.

For example, the Xen project provides Unikernels as part of their Xen Cloud product. The unikernel is (as I understand it) basically a tiny guest operating system that statically links to a programming language runtime or virtual machine. So the Xen guest boots up a single executable program composed of the programming language runtime environment (like the Java virtual machine) statically linked to the unikernel, and then runs whatever high-level programming language that the virtual machine supports, like Java, C#, Python, Erlang, what have you.

The reason for this is if you skip running Linux altogether, even a tiny Linux build like Alpine, and just boot directly into the virtual machine process, this tends to be a lot more memory efficient, and so you can fit more processes into the memory of a single physical compute node. Microsoft Azure does something similar (I think).

To use it, basically you write a program a service in a programming language that runs on a VM and build it to run on a Xen unikernel. When you run the server, Xen allocates the computing resources for it and launches the executable program directly on the VM without an operating system, so the VM is, in effect, the operating system.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • lifeLocal
  • goranko
  • All magazines