xv6-public VS awesome-lisp-companies

Compare xv6-public vs awesome-lisp-companies and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
xv6-public awesome-lisp-companies
25 51
7,408 580
1.3% -
0.0 6.8
5 days ago about 2 months ago
C
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

xv6-public

Posts with mentions or reviews of xv6-public. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-25.
  • Challenging projects every programmer should try
    8 projects | news.ycombinator.com | 25 Dec 2023
    +1 for mini operating system.

    Us, application developers, rely on many OS features: memory management, filesystem, etc. I'm sure eventually we'll ask "how such things are done behind the scene?"

    That's why I tinker with xv6 (https://github.com/mit-pdos/xv6-public) during sparetime. Learning various process scheduling algorithms from textbook is a thing. Implementing it is another thing. I learn a lot. And it's definitely fun, even though there's almost zero chance the knowledge gained is relevant for my job (I'm a mobile app dev).

  • xv6 compile error
    1 project | /r/cprogramming | 25 Sep 2023
    Recently I compiled xv6 using gcc 7.5.0 on Ubuntu 18 , everything is ok. But when I try to compile it using gcc 13.2.1 on latest Arch, it's failed: result
  • How could the early Unix OS comprise so few lines of code?
    3 projects | news.ycombinator.com | 11 Sep 2023
    https://github.com/mit-pdos/xv6-public has under 10,000 lines of C and assembly including some user space programs.
  • The rxv64 Operating System: MIT's xv6, in Rust, for SMP x86_64 machines
    5 projects | news.ycombinator.com | 8 Sep 2023
    xv6 was originally written for 32-bit x86; the RISC-V port is a relatively recent development. See e.g. https://github.com/mit-pdos/xv6-public for some of the earlier history.

    rxv64 was written for a specific purpose: we had to ramp up professional engineers on both 64-bit x86_64 and kernel development in Rust; we were pointing them to the MIT materials, which at the time still focused on x86, but they were getting tripped up 32-bit-isms and the original PC peripherals (e.g., accessing the IDE disk via programmed IO). Interestingly, the non sequitur about C++ aside, porting to Rust exposed several bugs or omissions in the C original; fixes were contributed back to MIT and applied to the original (and survived into the RISC-V port).

    Oh, by the way, the use of the term "SMP" predates Intel's usage by decades.

  • Some were meant for C [pdf]
    2 projects | news.ycombinator.com | 21 Jun 2023
    I'd define an arena as the pattern where the arena itself owns N objects. So you free the arena to free all objects.

    My first job was at EA working on console games (PS2, GameCube, XBox, no OS or virtual memory on any of them), and while at the time I was too junior to touch the memory allocators themselves, we were definitely not malloc-ing and freeing all the time.

    It was more like you load data for the level in one stage, which creates a ton of data structures, and then you enter a loop to draw every frame quickly. There were many global variables.

    ---

    Wikipedia calls it a region, zone, arena, area, or memory context, and that seems about right:

    https://en.wikipedia.org/wiki/Region-based_memory_management

    It describes history from 1967 (before C was invented!) and has some good examples from Apache ("pools") and Postgres ("memory contexts").

    I also just looked at these codebases:

    https://github.com/mit-pdos/xv6-public (based on code from the 70's)

    https://github.com/id-Software/DOOM (1997)

    I looked at allocproc() in xv6, and gives you an object from a fixed global array. A lot of C code in the 80's and 90's was essentially "kernel code" in that it didn't have an OS underneath it. Embedded systems didn't run on full-fledges OSes.

    DOOM tends to use a lot of what I would call "pools" -- arrays of objects of a fixed size, and that's basically what I remember from EA.

    Though in g_game.c, there is definitely an arena of size 0x20000 called "demobuffer". It's used with a bump allocator.

    ---

    So I'd say

    - malloc / free of individual objects was NEVER what C code looked like (aside from toy code in college)

    - arena allocators were used, but global vars and pools are also very common.

    - arenas are more or less wash for memory safety. they help you in some ways, but hurt you in others.

    The reason C programmers don't malloc/free all the time is for speed, not memory safety. Arenas are still unsafe.

    When you free an arena, you have no guarantee there's nothing that points to it anymore.

    Also, something that shouldn't be underestimated is that arena allocators break tools like ASAN, which use the malloc() free() interface. This was underscored to me by writing a garbage collector -- the custom allocator "broke" ASAN, and that was actually a problem:

    https://www.oilshell.org/blog/2023/01/garbage-collector.html

    If you want memory safety in your C code, you should be using ASAN (dynamically instrumented allocators) and good test coverage. Arenas don't help -- they can actually hurt. An arena is a trivial idea -- the problem is more if that usage pattern actually matches your application, and apps evolve over time.

  • Run Linux Programs on DOS
    3 projects | news.ycombinator.com | 23 Apr 2023
  • The Magma operating system
    3 projects | /r/osdev | 2 Apr 2023
    Magma is proudly licensed under the MIT license, and uses code from Xv6 and Yagura.
  • User Space vs Kernel Space Development (For an experienced Dev)
    1 project | /r/learnprogramming | 23 Feb 2023
    My OS classes used xv6, a reimplementation of Unix Version 6 for a RISC-V architecture. Accompanying that was the OSTEP textbook.
  • MINIX is an awesome way to learn a wide range of CS concepts
    3 projects | /r/compsci | 20 Feb 2023
    Check out xv6 if you are only getting started with operating systems and want something simpler.
  • I am getting an undefined reference despite including the source file when compiling
    4 projects | /r/C_Programming | 13 Feb 2023
    Here is kernel.ld.

awesome-lisp-companies

Posts with mentions or reviews of awesome-lisp-companies. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-16.
  • Google Common Lisp Style Guide
    3 projects | news.ycombinator.com | 16 Apr 2024
    Thanks to ITA Software (powering Kayak and Orbitz), Google dedicates resources to open-source Common Lisp development. More specifically, to SBCL:

    > Doug Katzman talked about his work at Google getting SBCL to work with Unix better. For those of you who don’t know, he’s done a lot of work on SBCL over the past couple of years, not only adding a lot of new features to the GC and making it play better with applications which have alien parts to them, but also has done a tremendous amount of cleanup on the internals and has helped SBCL become even more Sanely Bootstrappable. That’s a topic for another time, and I hope Doug or Christophe will have the time to write up about the recent improvements to the process, since it really is quite interesting.

    > Anyway, what Doug talked about was his work on making SBCL more amenable to external debugging tools, such as gdb and external profilers. It seems like they interface with aliens a lot from Lisp at Google, so it’s nice to have backtraces from alien tools understand Lisp. It turns out a lot of prerequisite work was needed to make SBCL play nice like this, including implementing a non-moving GC runtime, so that Lisp objects and especially Lisp code (which are normally dynamic space objects and move around just like everything else) can’t evade the aliens and will always have known locations.

    https://mstmetent.blogspot.com/2020/01/sbcl20-in-vienna-last...

    https://lisp-journey.gitlab.io/blog/yes-google-develops-comm...

    The ASDF system definition facility, at the heart of CL projects, also comes from Google developers.

    While we're at it, some more companies using CL today: https://github.com/azzamsa/awesome-lisp-companies/

  • Why Is Common Lisp Not the Most Popular Programming Language?
    8 projects | news.ycombinator.com | 14 Feb 2024
    Everyone, if you don't have a clue on how's Common Lisp going these days, I suggest:

    https://lisp-journey.gitlab.io/blog/these-years-in-common-li... (https://www.reddit.com/r/lisp/comments/107oejk/these_years_i...)

    A curated list of libraries: https://github.com/CodyReichert/awesome-cl

    Some companies, the ones we hear about: https://github.com/azzamsa/awesome-lisp-companies/

    and oh, some more editors besides Emacs or Vim: https://lispcookbook.github.io/cl-cookbook/editor-support.ht... (Atom/Pulsar support is good, VSCode support less so, Jetbrains one getting good, Lem is a modern Emacsy built in CL, Jupyter notebooks, cl-repl for a terminal REPL, etc)

  • We need to talk about parentheses
    6 projects | news.ycombinator.com | 12 Feb 2024
    Examples (for Common Lisp, so not citing Emacs): reddit v1, Google's ITA Software that powers airfare search engines (Kayak, Orbitz…), Postgres' pgloader (http://pgloader.io/), which was re-written from Python to Common Lisp, Opus Modus for music composition, the Maxima CAS, PTC 3D designer CAD software (used by big brands worldwide), Grammarly, Mirai, the 3D editor that designed Gollum's face, the ScoreCloud app that lets you whistle or play an instrument and get the music score,

    but also the ACL2 theorem prover, used in the industry since the 90s, NASA's PVS provers and SPIKE scheduler used for Hubble and JWT, many companies in Quantum Computing, companies like SISCOG, who plans the transportation systems of european metropolis' underground since the 80s, Ravenpack who's into big-data analysis for financial services (they might be hiring), Keepit (https://www.keepit.com/), Pocket Change (Japan, https://www.pocket-change.jp/en/), the new Feetr in trading (https://feetr.io/, you can search HN), Airbus, Alstom, Planisware (https://planisware.com),

    or also the open-source screenshotbot (https://screenshotbot.io), the Kandria game (https://kandria.com/),

    and the companies in https://github.com/azzamsa/awesome-lisp-companies and on LispWorks and Allegro's Success Stories.

    https://github.com/tamurashingo/reddit1.0/

    http://opusmodus.com/

    https://www.ptc.com/en/products/cad/3d-design

    http://www.izware.com/mirai

    https://apps.apple.com/us/app/scorecloud-express/id566535238

  • A Tour of Lisps
    8 projects | news.ycombinator.com | 29 Jan 2024
  • All of Mark Watson's Lisp Books
    6 projects | news.ycombinator.com | 24 Jul 2023
    > but there doesn't seem to be one that really stands out as pragmatic, industrial

    disagree ;) This industrial language is Common Lisp.

    Some industrial uses:

    - http://www.lispworks.com/success-stories/index.html

    - https://github.com/azzamsa/awesome-lisp-companies/

    - https://lisp-lang.org/success/

    Example companies: Intel's programmable chips, the ACL2 theorem prover (https://royalsocietypublishing.org/doi/10.1098/rsta.2015.039...), urban transportation planning systems (SISCOG), Quantum Computing (HRL Labs, Rigetti…), big data financial analysis (Ravenpack, they might be hiring), Google, Boeing, the NASA, etc.

    ps: Python competing? strong disagree^^

  • Why Common Lisp is used to implement commercial products at Secure Outcomes (2010)
    1 project | /r/lisp | 9 Jul 2023
    and of course, a quite recent list of companies, in addition of LW's success stories page: https://github.com/azzamsa/awesome-lisp-companies/
  • Steel Bank Common Lisp
    9 projects | news.ycombinator.com | 30 Jun 2023
    Hey there, newer member of the first group here. Please see https://github.com/azzamsa/awesome-lisp-companies/ to update your meta-comment. So, is CL used in the industry today, yes or no?

    Personal note: I much prefer to maintain a long-living software in Common Lisp rather than in Python, thank you very much. May all the new programmers learn easily and all the teams have lots of ~~burden~~ work with Python, good for them.

  • Racket: The Lisp for the Modern Day
    6 projects | news.ycombinator.com | 29 Jun 2023
    Common Lisp has many industrial uses though.

    (https://github.com/azzamsa/awesome-lisp-companies/

    https://lisp-lang.org/success/

    http://www.lispworks.com/success-stories/index.html

    such as

    https://www.cs.utexas.edu/users/moore/acl2/ (theorem prover used by big corp©)

    https://allegrograph.com/press_room/barefoot-networks-uses-f... (Intel programmable chip)

    quantum compilers https://news.ycombinator.com/item?id=32741928

    etc, etc, etc)

  • Why Lisp Syntax Works
    5 projects | news.ycombinator.com | 5 Jun 2023
    A few more that we know of, using CL today: https://github.com/azzamsa/awesome-lisp-companies/

    Others: https://lisp-lang.org/success/

  • How to Understand and Use Common Lisp
    5 projects | news.ycombinator.com | 14 May 2023
    yes

    https://github.com/azzamsa/awesome-lisp-companies

    http://lisp-lang.org/success/

    industrial theorem prover, design of Intel chips, quantum compilers...

    and little me, being more productive and having more fun than with python to deploy boring tools (read a DB, format the data, send to FTP servers, show a web interface...).

What are some alternatives?

When comparing xv6-public and awesome-lisp-companies you can also consider the following projects:

xv6-riscv - Xv6 for RISC-V

Carp - A statically typed lisp, without a GC, for real-time applications.

homebrew-i386-elf-toolchain - Homebrew formulas for buildling a valid GCC toolchain for the i386-elf target.

portacle - A portable common lisp development environment

minixfromscratch - Development and compilation setup for the book versions of MINIX (2.0.0 and 3.1.0) on QEMU

julia - The Julia Programming Language

foam3 - FOAM: Feature-Oriented Active Modeller, Version 3 (unstable)

coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.

stumpwm - The Stump Window Manager

Fennel - Lua Lisp Language

lispe - An implementation of a full fledged Lisp interpreter with Data Structure, Pattern Programming and High level Functions with Lazy Evaluation à la Haskell.

kandria - A post-apocalyptic actionRPG. Now on Steam!