Software engineer, functional programming enthusiast.

  • 8 Posts
  • 208 Comments
Joined 4 years ago
cake
Cake day: April 27th, 2021

help-circle

  • Ramin Honary@lemmy.mltoADHD memes@lemmy.dbzer0.comEnergy
    link
    fedilink
    English
    arrow-up
    27
    ·
    edit-2
    2 months ago

    Also every manic pixie dream girl

    So much this.

    Also, its not just Bart Simpson, it is Homer too.

    • Homer: (wakes up from a daydream about “the land of chocolate”). “What? Huh? Oh, uh we were talking about chocolate?” – Boss: “That was ten minutes ago!”
    • At a Stone Cutters meeting, he uses the Sacred Parchment as a napkin. When everyone starts yelling at him for that, he gets nervous out and starts using it as a napkin even more.
    • “You have my undivided attention” (watches a cartoon in his head)
    • “What would my life be like if I robbed the Quick-E-Mart?” (imagines himself living in a mansion, wearing a tuxedo, spinning his gun on his finger, Marge in a swimsuit doing a 60’s dance beside him.) “I’ll do it! I’ll rob the Quick-E-Mart…D’oh!” (he has already walked out to his car and is driving home).
    • When marge spends the whole day cleaning the house to host a party for friends, homer plays with a toy racecar track in his underwear. Marge says to him: “Homer! The only thing I asked you to do for this party is to put on pants and you didn’t do it!”

  • I would go with Guile, because it is built-in to the Guix Package Manager which is a really good general-purpose package manager.

    It ticks several of your boxes:

    • has a CLI interpreter
    • is a general purpose language, Scheme, amd compliant with revisions 5, 6, and 7 of the language standard
    • allows writing in a functional style (it is one of the original functional programming languages)
    • small disk footprint, but still large enough to be “batteries included”
    • decent documentation, especially if you use Emacs
    • simple setup: not so much, unless you are using Guix to begin with. The standard distribution ships with lots of pre-built bytecode files, you need an installer script to install everything.

    It also has pretty good libraries for system maintenance and reporting:


  • What I want to know is, how much energy was used to create these floors, install them, and how much energy will be required to service them (the electronics) if they break down over the useful life of the installation, including how much energy was spent on resource extraction and processing.

    Then I want to see that number compared as a ratio to the amount of energy these floors can generate over their expected useful life span, say 15 years in high pedestrian traffic areas.

    I am highly skeptical that the ratio would even approach 1:1, I expect a net energy loss. But I could be convinced otherwise with some good data.


  • Adding Solar to More Devices

    I never understood why this wasn’t more common already. … Why not? Seems like an obvious solution…

    Good question, with a simple engineering answer: often times the energy cost of creating these solar panels and installing them into devices is considerably higher than the amount of energy those devices could possibly except after many decades of constant use. The point in time at which the solar energy collected by the device matches the energy cost to create and install the device might actually be longer than the life of the solar panel or the device itself. So adding solar to every last little thing will actually cost a lot more money for consumers while causing more harm to the environment.

    That is not to say that solar is always bad, in fact solar is incredibly good when used at industrial scales, especially in power stations, and on the rooftops of factories, parking lots, shopping centers, data centers, and warehouses.

    We see too often on the news stories about how some amazing invention might help solve global warming, but this is often just propaganda. The oil and car companies want you to think buying more technology from these tech companies (which are often their own subsidiary companies) will solve the problem. But really it is just another way of profiting off of people, tricking them into buying their stuff rather than reducing consumption, reusing, and recycling, and without those companies doing any of the hard work on the energy transition themselves.


  • both can be installed side by side if you have enough disk space.

    Yeah, this is exactly what I do using QEMU and Aarch64 Debian. I suppose I could try the Asahi Linux in QEMU but that actually might be more difficult since I don’t think QEMU can emulate the MacBook hardware, as far as I know. And I can’t do dual boot, I want to be able to switch back and forth between Mac OS and Linux without rebooting anything.



  • I switched to Linux permanently in 2008. Last OS I used before Linux was Mac OS X version 10.4 “Tiger” (if I recall correctly) which is what came with the Macintosh PowerBook that I had bought roughly in the year 2004. I have never used Microsoft software unless someone was paying me to, but at the time, Windows XP was still all the rage even though Microsoft was trying to get everyone to switch to Windows Vista. (Vista got a lot of well-deserved hate too, sort of similar what we see with Windows 11 right now, actually.)

    Anyway, I was a die-hard Apple fanboy, but getting more and more into free software and I kept on using Macports/Homebrew to build Linux stuff I found online, but back in those days a lot of apps I wanted to try did not have good support for the Darwin kernel build of GCC which was pretty old compared to what Linux was using at the time. Occasionally a build would fail, and I would try to port the software on my own, with the idea of maybe submitting a package to Macports. But after a while I realized, “if I want to use Linux software, why not just use Linux?”

    So I bought a Netbook (Dell Inspiron Mini 10) with Ubuntu pre-installed. I really loved that little computer, I used it for a good 5 years until I needed a more powerful computer. I still have it, actually. I never went back to Apple until this year when I took a new job where they wanted me to use a MacBook Pro. (Again, not using proprietary software unless I am well paid.)

    I can say with confidence that Linux is considerably better than Apple’s operating systems. I use Aarch64 Debian 12.5 in a QEMU on that MacBook for most things, only switching over to Mac OS when I really need to.



  • Ramin Honary@lemmy.mltoLinux@lemmy.mlOpenSUSE is the best
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 months ago

    Never tried it, but everyone I know who has tried it says its the most stable rolling release OS ever. That is pretty cool. Btrfs support is cool too, copy-on-write, deduplication, and whole-disk snapshot and rollback capability, its great for keeping your data safe.

    I don't care about rolling releases, I get my stability from Debian, or sometimes Mint. If I want the latest software I’ll install Guix packages or FlatPaks. And I can still use Btrfs on Debian.


  • Ramin Honary@lemmy.mltoLinux@lemmy.mlNot really sure I get Wayland
    link
    fedilink
    English
    arrow-up
    93
    ·
    edit-2
    4 months ago

    I can explain the difference between X11 and Xorg with an analogy to the web and web browsers: X11 is like HTTP, Xorg is like the Chrome browser. X11 is the protocol, Xorg is software that implements that protocol.

    X11 is old, it was designed back in the 1980s and includes messages for drawing lines and circles and fonts on the screen. Also, back then there were a lot of “thin clients”, computers that were basically nothing but a browser, since graphics were computationally expensive and could not be done on the client computer, graphics rendering was done server side. There are lots of messages in the protocol for handling screen updates over a computer network.

    Nowadays, all personal computers are powerful enough to render their own graphics, and no one needs the display server to draw individual lines or circles on screen. Vector graphics and fonts are done at the application level, not over the network. So these these messages specified in the X11 protocol are hardly ever used. Really, most of X11 (let’s say 90% of it) is not used at all, only the parts where the keyboard and mouse are defined, and how you can allocate memory to buffer a graphic and copy that buffer to the display. But you still need to maintain the Xorg software to handle everything that X11 specifies, and this is just a waste of code, and a waste of time for the code maintainers.

    So basically, they decided about 10-15 years ago that since no one uses most of X11, let’s just define a new protocol (called Wayland) that only has the parts of X11 that everyone still uses, and get rid of the 90% of it that no one ever uses. Also, the protocol design takes into account the fact that most modern computers do all of their own rendering rather than calling out to a server to render for them. Also the Wayland protocol design takes into account that a lot of computers have graphics cards for accelerated graphics rendering.

    Since the Wayland protocol is much simpler, it is easier for anyone to write their own software which implements the protocol, these software are called “compositors.” Finally, 10 years after some of the first implementations of Wayland, the protocol and compositors are becoming mature enough that they can be used in ordinary consumer PCs.



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






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


  • 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 Honary@lemmy.mltoLinux@lemmy.mlWhat are your must-have programs?
    link
    fedilink
    English
    arrow-up
    20
    ·
    edit-2
    5 months 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.