GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Notices by Ramin Honary (ramin_hal9001@fe.disroot.org)

  1. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Sunday, 11-May-2025 19:50:52 JST Ramin Honary Ramin Honary
    Progress on my clone of the Emacs Lisp interpreter

    This took me three months (a month longer than I had hoped), but I finally have merged it into the main branch!

    This patch rewrites the Emacs Lisp lexer and parser in Scheme using Scheme code that is 100% compliant with the #R7RS standard, so it should now work across all compliant Scheme implementations. Previously the old parser relied on #Guile -specific regular expressions.

    This patch also implements a new feature where a stack trace is printed when an error occurs. This of course makes debugging much, much easier. Previously the old parser did not keep track of where code evaluation was happening, it simply produced lists without source location information. The new parser constructs an abstract syntax tree (AST) and source locations are attached to the branches of the tree which can be used in error reporting and stack traces.

    Next I will make whatever minor tweaks might be necessary to get my Emacs Lisp interpreter run on other Scheme implementations, in particular MIT Scheme, Gambit, Stklos, and Gauche. I would also like to try to get it running on Chicken and Chez, although these are going to be a bit more tricky.

    Then I will continue with the task of implementing a new declarative GUI library.

    #tech #software #FOSS #FunctionalProgramming #Lisp #Scheme #SchemeLang #EmacsLisp #Emacs #Schemacs #GuileScheme

    In conversation about a day ago from fe.disroot.org permalink
  2. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Friday, 02-May-2025 16:51:33 JST Ramin Honary Ramin Honary
    in reply to
    • Aral Balkan
    • screwlisp

    @aral thanks for the explanation!

    “A web server and framework [to] make web sites and apps” makes perfect sense to me. I humbly recommend you include those words toward the top of the home page.

    By the way, I am enjoying the humor in the FAQs!

    @screwtape

    In conversation about 10 days ago from fe.disroot.org permalink

    Attachments

    1. No result found on File_thumbnail lookup.
      PAGE.by - Áåñïëàòíûé õîñòèíã äëÿ áåëîðóñîâ. Ñàéòû. Äîìåíû. Ïî÷òà.
      PAGE.by - áåñïëàòíûé õîñòèíã äëÿ áåëîðóññêèõ ïðîåêòîâ.
  3. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Friday, 02-May-2025 14:18:41 JST Ramin Honary Ramin Honary
    in reply to
    • Aral Balkan
    • screwlisp

    I didn’t even realise Kitten was fundamentally an expert system. https://kitten.small-web.org/reference/#install

    @screwtape I have read “Reference” document of the kitten project and am still not really sure what it is — something to do web sites, it seems.

    It has a parser and a command to “build” things, so I guess it is sort of like PHP or Django? Or maybe sort-of like Wordpress or Drupal?

    @aral

    In conversation about 10 days ago from fe.disroot.org permalink

    Attachments



  4. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Monday, 28-Apr-2025 23:44:46 JST Ramin Honary Ramin Honary
    in reply to
    • Miakoda

    @hellomiakoda take one every six hours and hope for the best?

    In conversation about 14 days ago from fe.disroot.org permalink
  5. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Sunday, 27-Apr-2025 14:42:18 JST Ramin Honary Ramin Honary
    Linux communities beware of #PewDiePie fans

    Regardless of PewDiePie’s personal #politics (which clearly, at the very least are problematic), it is fairly well known by anyone who has been following him for any number of years that the vast majority of his fan base are enthusiastic fascists.

    Now #PewDiePie , who’s content centers around PC gaming and Windows, has decided to switch to #Linux and published a video encouraging his followers to do the same. This means a very large number of his #fascist fan base is going to be switching to Linux.

    Now many Linux communities are going to be forced to more explicitly choose their politics. Like the parable of the Nazi bar, if the community remains politically neutral, it will become fascist in short order.

    A few things to be wary of:

    • People asking you not to be “too political” or to “focus on the technology, not the politics” is a classic and highly effective fascist ruse to get moderators to lighten up on fascist elements posting in their community.
    • People complaining about free speech rights. The #Internet and the #Fediverse is already a domain where people can speak freely about their politics by running their own server and building their own community with few to no government constraints. You don’t need to compromise on whether fascists have the right to free speech in your community.
    • Arguments over your code of conduct (CC) and “safe spaces.” Keep them up-to-date. Research other people’s CCs, learn about the history of why these CCs came to be, learn about what the function of each clause of the code is included and phrased the way it is. These were usually designed to make explicit the fact that a community wants to be a safe space where underprivileged people can feel comfortable expressing themselves, and it is very easy to make people afraid to express themselves. Fascists understand these CCs and the concept of “safe spaces” were explicitly designed to exclude them, and often attack these ideas.
    In conversation about 15 days ago from fe.disroot.org permalink
  6. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Wednesday, 02-Apr-2025 14:59:34 JST Ramin Honary Ramin Honary
    • Kent Pitman
    The #LispyGopherClimate #weekly #tech #podcast for 2025-04-02

    Listen at: https://archives.anonradio.net/202504020000_screwtape.mp3

    This week we will talk about the Unix Philosophy and how it compares and contrasts with whatever one might call the “Emacs Philosophy.”

    The impetus for the discussion is a series of blog posts by @ramin_hal9001 called “Emacs fulfills the UNIX Philosophy”:

    • The original introductory blog post
    • The show notes

    …as well as a fascinating discussion that took place over this past week on ActivityPub on the topic of the Unix philosophy and history of Lisp on Unix in which some very knowledgeable people have contributed anecdotes and facts.

    #technology #programming #SoftwareEngineering #RetroComputing #lisp #r7rs #SchemeLang #UnixPhilosophy

    This weeks #ClimateCrisis #haiku by @kentpitmanwithin each of us our loved ones, in tiny form, caring's innate yield company at a distance legacy in case of loss

    #senryu #poem #ShortPoem #SmallPoem #SmallPoems

    In conversation about a month ago from fe.disroot.org permalink

    Attachments


  7. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Tuesday, 01-Apr-2025 21:48:08 JST Ramin Honary Ramin Honary
    in reply to
    • screwlisp

    @screwtape I wish there was a port of CLIM for Scheme that I could use for my Emacs clone, but I don’t know if any of the Scheme implementations of the Meta Object Protocol (MOP) are comprehensive enough to support CLIM. The same is true of the Emacs MOP, which is some combination of cl-lib and EIEIO, I don’t think you could implement CLIM with just that.

    Also, every Scheme MOP is platform-specific. GOOPS is only for Guile, COOPS is only for Chicken, SOS Is only for MIT Scheme.

    The Racket GUI library is quite good, but it relies too heavily on Racket’s macro system to make it very portable to other Schemes.

    For myself, I was thinking of rewriting a lightweight JavaScript React-like framework called Van.js to Scheme and use it to implement a higher-level interface around an existing GUI framework like Gtk. The nice thing about Gtk is that the FFI bindings are automated throught GObject Introspection, and it has been ported to all major operating systems.

    But I think a better long-term solution for my Emacs clone would just be to implement the full MOP and then CLIM in Scheme.

    @slgr

    In conversation about a month ago from fe.disroot.org permalink
  8. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Tuesday, 01-Apr-2025 21:48:05 JST Ramin Honary Ramin Honary
    in reply to
    • screwlisp
    • Daniel Kochmański

    I’m planning to put scheme as an optional runtime in ecl

    @jackdaniel implementing Scheme in Common Lisp sounds like a really cool idea! Will it comply with the R7RS standard? If it does, then I can easily port my Emacs clone to ECL Scheme.

    One goal of my project is portability across multiple Scheme implementations. The problem with the GUI is that I need a high-level interface written in Scheme that makes calls to lower-level platform-specific GUI library calls. If I had a MOP implementation that was written in fully-standards-compilant R7RS Scheme and CLIM implemented on top of that, it would work on other platforms that did not provide a MOP or CLIM. When porting it to ECL, I could just leave-out these high-level libraries and allow programmers to use the underlying ECL CLIM libraries directly.

    @screwtape @slgr

    In conversation about a month ago from fe.disroot.org permalink
  9. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Tuesday, 01-Apr-2025 17:13:30 JST Ramin Honary Ramin Honary
    in reply to
    • screwlisp
    • amen zwa, esq.
    • masso
    • lispm

    early Lisp on UNIX: Franz Lisp (80s).

    @symbolics I suspected that Franz may have been ported to Unix eraly-on, but I had a hard time finding evidence of it, so thanks for confirming that!

    Most people consider Stallman’s Emacs to be the origin of Emacs back in 1976-ish based on the TECO editor, even though the Emacs of that era would probably be unrecognizable to us nowadays. Greenberg wrote Emacs in MacLisp in 1978, and so I think that was the first Emacs Lisp, but this was running on ITS, not Unix.

    I understand that Emacs already had quite a following by the time Gosling Emacs was officially released in 1984, and Stallman’s GNU Emacs v15 released in 1985 saw wide-spread distribution as a result.

    • https://www.emacswiki.org/emacs/EmacsHistory

    So I guess Franz was indeed probably the first Lisp to run on Unix.

    @AmenZwa @masso @screwtape @sacha

    In conversation about a month ago from fe.disroot.org permalink
  10. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Sunday, 30-Mar-2025 19:05:16 JST Ramin Honary Ramin Honary
    in reply to
    • screwlisp
    • Paolo Amoroso
    • Alfred M. Szmidt
    • Bhavani Shankar

    @amszmidt well, I believe the story. Zenie said, she was working on a Xerox Alto System 9, which was a machine that would be placed in the office, not a data center, and could connect several Wyse terminals to it, each one at an individual’s desk.

    @bshankar @amoroso @screwtape @sacha

    In conversation about a month ago from fe.disroot.org permalink
  11. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Sunday, 30-Mar-2025 17:17:59 JST Ramin Honary Ramin Honary
    in reply to
    • screwlisp
    • Paolo Amoroso
    • Alfred M. Szmidt
    • Bhavani Shankar
    • Zenie

    We always made fun of emacs because you could often hear the disks swapping.

    @Zenie I guess “Eight Megabytes And Constantly Swaping” was not just an idle slander, so it really did have to do lots of swapping.

    And yes, if you really believe in the “each tool does one thing and does it well” ethos, then why not have all of your tools written in Lisp and work together nicely in a consistent environment?

    Thanks for telling us your story!

    @amszmidt @bshankar @amoroso @screwtape @sacha

    In conversation about a month ago from fe.disroot.org permalink
  12. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Sunday, 30-Mar-2025 06:27:36 JST Ramin Honary Ramin Honary
    • screwlisp
    • Paolo Amoroso
    • Bhavani Shankar

    Besides, I don’t want my Emacs to do “one thing” (even if it did that one thing very, very well), because I don’t want to do just one thing

    @sacha yes indeed. My article is critical of the UNIX Philosophy, not supportive of it. I prefer not tools that “do one thing and do it well,” I prefer tools that are simple, orthogonal, and composable, i.e. “functions” in a functional programming environment. So any environment (such as Emacs) that allows me to compose these tools together easily is a computing environment I would prefer to use.

    @bshankar @amoroso @screwtape

    In conversation about a month ago from fe.disroot.org permalink
  13. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Sunday, 30-Mar-2025 06:27:35 JST Ramin Honary Ramin Honary
    in reply to
    • firebreathingduck

    @firebreathingduck @sacha it is funny to me that we have Emacs “distros” like Spacemacs and Doom Emacs that give you Vim bindings, but not really anything yet for VS Code bindings. That would lower the barrier to entry.

    In conversation about a month ago from fe.disroot.org permalink
  14. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Saturday, 29-Mar-2025 16:52:15 JST Ramin Honary Ramin Honary
    in reply to
    • Miakoda

    @hellomiakoda same with me.

    Actually, the whole “you get more conservative as you get older” truism was based on the fact that throughout the lifetime of the boomers, The West and especially the US was becoming so wealthy from the spoils of World War 2 that basically anyone of a certain age was incredibly likely to become more wealthy as they got older, and the more wealthy you get, the more greedy and detatched from reality you get, and thus the more conservative you get. But Gen-X and later are experiencing poverty at an ever-increasing rate, and so fewer and fewer people are becoming conservative as they get older.

    In conversation about a month ago from fe.disroot.org permalink
  15. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Saturday, 29-Mar-2025 06:28:16 JST Ramin Honary Ramin Honary
    • screwlisp

    @sacha @screwtape I had a little free time today, so I wrote an outline to keep our discussion on track during the recording of the podcast next week. It is on Codeberg, so send a pull request if you want to change anything.

    https://codeberg.org/ramin_hal9001/lisp-gopher-climate_chat-about-emacs/src/branch/main/show-outline.org

    In conversation about a month ago from fe.disroot.org permalink
  16. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Saturday, 29-Mar-2025 06:28:14 JST Ramin Honary Ramin Honary
    in reply to
    • screwlisp
    • masso

    @screwtape @sacha @masso as far as I can tell, Emacs was one of the first Lisp implementations for Unix systems, and it was free to use, so it would have probably become pretty popular for that reason. Both the GNU project and Emacs had got started before Common Lisp was even standardized. In those days, Lisp was being implemented mostly on mainframes and minicomputers, on the Xerox Alto, and on bespoke hardware like in the case of Symbolics. But this was in parallel to development of Unix, and so Unix maybe wasn’t as widely used or popular enough at the time for anyone to bother porting Lisp to it until the 1980s after GNU started cloning Unix.

    So there may well have been other Lisp implementations on Unix or it’s clones, but I don’t know enough about pre-1980s Lisp. I don’t even know what computer Steele and Sussman used to implement the first Scheme.

    In conversation about a month ago from fe.disroot.org permalink
  17. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Thursday, 27-Feb-2025 11:10:32 JST Ramin Honary Ramin Honary
    in reply to
    • Miakoda

    @hellomiakoda I’m the same. I am completely self-taught with keyboarding. Fortunately, keyboarding was an elective class at my school so I never had anyone teaching me the “right way.”

    I could probably improve my technique by sticking more to the home row and being more conscious of the nubs on the “F” and “J” keys (on QWERTY) and increase my normal rate from roughly 100 wpm to maybe 110 or 120 wpm, but typing speed is not the thing that I need to optimize if I want to get more things done in a day.

    In conversation about 2 months ago from fe.disroot.org permalink
  18. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Monday, 24-Feb-2025 23:32:38 JST Ramin Honary Ramin Honary
    in reply to
    • Arne Babenhauserheide
    • Pepper The Vixen🏳️‍⚧️🦯
    • Casey

    Emacspeak is not a desktop environment.

    @kc that is a very debatable claim.

    (You are probably not interested in debate, but on the off-chance that you are, please read this first.)

    @ArneBab @PepperTheVixen

    In conversation about 3 months ago from fe.disroot.org permalink
  19. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Tuesday, 18-Feb-2025 17:15:41 JST Ramin Honary Ramin Honary
    in reply to
    • Alfred M. Szmidt

    And I guess regions aren’t supported at all in that editor?

    @amszmidt it has “selections,” but not really regions, so there is no C-x C-x (swap point and mark) command, which is unfortunate because I use that one all the time. That said, Control-K does the same thing as Emacs C-k.

    And there is no kill-ring either so C-y M-y does not work, it is just the ordinary Mac OS copy-paste buffer. That one would have been helpful.

    Oh, and You can’t use “Option” as Emacs “Meta” unless it is combined with Control, it seems. So any command that uses Mata as the only modifier will not work. Mac OS uses “Option” for selecting another layer of the keyboard, defaulting to Greek letters. It has been this way since even the 1980s.

    In conversation about 3 months ago from fe.disroot.org permalink
  20. Embed this notice
    Ramin Honary (ramin_hal9001@fe.disroot.org)'s status on Tuesday, 18-Feb-2025 16:19:57 JST Ramin Honary Ramin Honary
    #Apple #MacOS managed to pleasantly surprise me for once

    You have to pay me pretty well to use Mac OS or Windows… and that is what my new employer is doing, so I have started using Mac OS as a daily driver again for the first time in over 15 years. For the most part I have been quite disappointed with how things have changed in that time.

    But, I just discovered one little detail in the Mac OS “Text Edit“ application that made my day: it has a few of the Emacs key bindings built-in. You can do Control-N,P,F,B to move the cursor around, Option-Control-F,B to jump around words, and Control-Y to paste text. (Unfortunately, Control-W does not copy text.) I am sure there are a few others, I haven’t bothered to check yet.

    Well done, Mac OS engineers.

    #tech #software #Apple #TextEditor #Emacs

    In conversation about 3 months ago from fe.disroot.org permalink
  • Before

User actions

    Ramin Honary

    Ramin Honary

    I was born in the United States. I am a professional software engineer, and have been since 2008. I currently do full-stack work, mostly in Python and JavaScript, for a company based in Japan which sells AI-related services. However I am passionate about functional programming languages, especially Haskell, Scheme, and Emacs. I also love retro-computing, especially computers from the late 70s to early 90s, in particular old Apple computers, but I love all old computers from that era. I am also passionate about free/libre software, especially Linux. Most of my posts are about functional programming languages, retro-computing, and Linux.I care deeply about human rights and justice for the poor, persecuted, and underprivileged people. I am strongly opposed to war, fascism, and any ideology driven by hatred. I reject all forms of violence except self defense (war and terrorism are never self defense). Climate change is an issue of human rights because it will cause the most harm to the poo

    Tags
    • (None)

    Following 0

      Followers 0

        Groups 0

          Statistics

          User ID
          284138
          Member since
          26 Sep 2024
          Notices
          67
          Daily average
          0

          Feeds

          • Atom
          • Help
          • About
          • FAQ
          • TOS
          • Privacy
          • Source
          • Version
          • Contact

          GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

          Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.