ideas5

Batch 5 of Ideas for Computing (by samsquire)

Ideas5 Alternatives

Similar projects and alternatives to ideas5

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better ideas5 alternative or higher similarity.

ideas5 reviews and mentions

Posts with mentions or reviews of ideas5. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-18.
  • WTF is going on with R7RS Large?
    2 projects | news.ycombinator.com | 18 Aug 2023
    https://github.com/samsquire/ideas5#350-structured-interacti...

    Knowledgegraph programming language:

  • Railway Oriented Programming
    2 projects | news.ycombinator.com | 18 Aug 2023
    I see a lot of correlations between parsing train tracks and BNF and error handling and state machines.

    I wrote a bit about it here

    https://github.com/samsquire/ideas5#252-happy-path-state-mac...

  • Async rust – are we doing it all wrong?
    9 projects | news.ycombinator.com | 19 Jul 2023
    How would you do control flow and scheduling and parallelism and async efficiently with this code?

    `db.save()`, `download()` are IO intensive whereas `document.query("a")` and `parse` is CPU intensive.

    I think its work diagram looks like this: https://github.com/samsquire/dream-programming-language/blob...

    I've tried to design a multithreaded architecture that is scalable which combines lightweight threads + thread pools for work + control threads for IO epoll or liburing loops:

    Here's the high level diagram:

    https://github.com/samsquire/ideas5/blob/main/NonblockingRun...

    The secret is modelling control flow as a data flow problem and having a simple but efficient scheduler.

    I wrote about schedulers here and binpacking work into time:

    https://github.com/samsquire/ideas4#196-binpacking-work-into...

    I also have a 1:M:N lightweight thread scheduler/multiplexer:

    https://github.com/samsquire/preemptible-thread

  • Ask HN: Could you show your personal blog here?
    55 projects | news.ycombinator.com | 4 Jul 2023
    Thanks for posting this Ask HN question.

    I journal ideas and thoughts about computers and software. I am interested in software architecture, parallelism, async, coroutines, database internals, programming language implementation, software design and the web.

    https://github.com/samsquire/ideas (2013)

    https://github.com/samsquire/ideas2

    https://github.com/samsquire/ideas3

    https://github.com/samsquire/ideas4 <-- this is recent but needs editing

    https://github.com/samsquire/ideas5 <-- this is what I'm working on now

    https://github.com/samsquire/startups

    https://github.com/samsquire/blog <-- thoughts I want to write about, but incomplete

    I use README.md on GitHub and create a heading at the bottom for each entry. I use Typora on Windows or the GitHub web interface to edit.

  • Our Plan for Python 3.13
    10 projects | news.ycombinator.com | 15 Jun 2023
    My deep interest is multithreaded code. For a software engineer working on business software, I'm not sure if they should be spending too much time debugging multithreaded bugs because they are operating at the wrong level of abstraction from my perspective for business operations.

    I'm looking for an approach to writing concurrent code with parallelism that is elegant and easy to understand and hard to introduce bugs. This requires alternative programming approaches and in my perspective, alternative notations.

    One such design uses monotonic state machines which can only move in one direction. I've designed a syntax and written a parser and very toy runtime for the notation.

    https://github.com/samsquire/ideas5#56-stateful-circle-progr...

    https://github.com/samsquire/ideas4#558-state-machine-formul...

    The idea is inspired by LMAX Disruptor and queuing systems.

  • Is Parallel Programming Hard, and, If So, What Can You Do About It? v2023.06.11a
    9 projects | news.ycombinator.com | 14 Jun 2023
    https://github.com/samsquire/ideas5/blob/main/NonblockingRun...

    The design is that we have three groupings of thread types. The application starts up some application threads which are not associated with a request, these service multiconsumer multiproducer thread safe ringbuffers in lightweight threads with a Go-erlang-like lightweight process runtime. (My simple lightweight thread runtime is https://github.com/samsquire/preemptible-thread) We also multiplex multiple network clients sockets across a set number of kernel threads which I call control threads. Their responsibility is to dispatch work to a work stealing thread pool ASAP which has its own group of threads. So we pay a thread synchronization cost ONCE per IO which is the dispatch from the control thread to a thread pool thread. (Presumably this is fast, because the thread pool threads are all looping on a submission queue)

    We split all IO and CPU tasks into two halves: submit and handle reply. I assume you can use liburing or epoll in the control threads. The same with CPU tasks and use ringbuffers to communicate between threads. We can always serve client's requests because we're never blocked on handling someone else's request. The control thread is always unblocked.

    I think this article is good regarding Python's asyncio story:

  • A note from our sponsor - InfluxDB
    www.influxdata.com | 2 May 2024
    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. Learn more →

Stats

Basic ideas5 repo stats
6
5
7.3
6 months ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com