Ramin Honary

Software engineer, functional programming enthusiast.

  • 7 Posts
  • 217 Comments
Joined 3 years ago
cake
Cake day: April 27th, 2021

help-circle

  • 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.



  • 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 HonarytoLinuxWhat are your must-have programs?
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    18 days ago

    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 HonarytoLinuxWhat are your must-have programs?
    link
    fedilink
    English
    arrow-up
    2
    ·
    18 days ago

    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 HonarytoLinuxWhat are your must-have programs?
    link
    fedilink
    English
    arrow-up
    20
    arrow-down
    2
    ·
    edit-2
    20 days ago

    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”)

  • What I do wonder about is to what extent private ownership would still be permitted to exist?

    Yeah, I think that is debatable and there are probably a few solutions, since we are only talking about hypothetical society. Just thinking out loud myself now: your example of leasing the tractor to other collectives could be done using money but there would have to be strict regulations to ensure that your lease price was fair, and maybe you would not be to charge interest, or only enough interest to cover the risk of losing the tractor. Or it could all just be done much more informally on a “to each their need” basis and the honor system, and you could maybe take them to court for a new one if they destroyed it or something.

    I wish I knew more about how it worked in countries like Vietnam or Cuba, they probably have it all worked out.


  • If I saved up my money and bought a tractor

    What if I instead offered to plow their fields for them instead

    You assume it is necessary to use money to buy a tractor for yourself, you assume “their fields” are owned by “them.” What if the state provided you with a tractor and the land? Or even if money were involved, what if the state provided you with the money to buy the tractor and the land?

    There would be laws to allow you to hire other people to use the tractor and farm the land, but by law, the surplus of their labor (whatever they planted, farm, sell at market) would belong to them, likewise the surplus of your own labor would belong to you. You could use the surplus (money, goods, what have you) to trade with anyone else.



  • I know, this one is so plausibly something those psychos in the various school board across the fucked-up state of Florida would actually do, I honestly thought this was real for a moment.

    They have already shut down entire school libraries, and censored several other public libraries, and are trying to make it illegal to speak freely about slavery or genocide or generally being critical of the US or the glorious military. And there is no shortage of 100% serious, 100% unironic talk (“protected free speech”) among ordinary Florida folk about how the slaves actually had it pretty good since they never had to worry about paying for rent or food, and anyone could have done the unskilled labor they did, “I mean, they never had human rights, but what would animals I mean black folk want with those.”

    I mean, this Onion headline is really, really plausibly real, and might even become real pretty soon.


  • Ramin HonarytoLinuxTips/tricks for beginners
    link
    fedilink
    English
    arrow-up
    24
    arrow-down
    1
    ·
    edit-2
    1 month ago

    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.

    “Advice for people who want to learn linux” – 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.

    “How to pick a Linux distro” – 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 HonarytoLinuxWhere to "practice Linux" terminal commands
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    2 months ago

    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 HonarytoLinuxConfiguring Kakoune Bindings in the Helix Editor!
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 months ago

    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 HonaryOPtoEmacs[Humor] A song about the Emacs Philosophy
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 months ago

    The argument stretches “Unix philosophy” so far that Lisp systems end up being a better fit for it than Unix itself. To me that just makes the whole thing lose meaning. Emacs doesn’t particularly fit the Unix philosophy and that’s fine!

    Thanks for reading my article, and for your thoughtful comment!

    I will go further and say that no GUI or TUI application fits into the Unix philosophy.

    I suppose I can agree with you on this point for sure, since the Unix philosophy is not really all that well formulated to begin with (it is a philosophy closely related to the principles of functional programming devised by people who were seemingly not interested in functional programming).

    Nonetheless there are people who still insist there is wisdom in the Unix philosophy, which I think is more misguided ritual than carefully-considered principle. The reason I wrote the article was to make people question the utility of this ritual, of drawing an arbitrary border line around a piece of software and saying “within these borders is a tool that does just one thing and does it well.”