lab

module
v0.0.0-...-e6e6e0f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 25, 2026 License: BSD-3-Clause

README

Name

lab - R&D Lab

Description

"I hear, and I forget; I see, and I remember; I do, and I understand" -- source

Lab is the place to tinker with ideas, learn by doing, and don't be shy of making mistakes. This is where we grow.

Projects

Package Status Notes
book/ Book CI ideas from books
check/ Check CI pre-commit checks
go/ Go CI Go libraries
iq/ Interview Questions CI Interview Questions
infra/ Infrastructure configuration & doc
x/ X CI experimental area

C++ development

Run //:gazelle target to generate Bazel BUILD files:

% bazel run :gazelle

Use refresh_commands script to run :gazelle and capture compile_commands.json from Bazel build and update the links for FreeBSD jail installation (Ubuntu apt(1) installs LLVM under /usr, FreeBSD pkg(1) installs it under /usr/local ):

% ./refresh_commands

ibazel is configured to fix build errors, see .bazel_fix_commands.json:

% ibazel --run_output --run_output_interactive=false test //...

Directories

Path Synopsis
bin
gover command
Gover prints Go version used to build a Go binary.
Gover prints Go version used to build a Go binary.
book
algos/c2/s4/cmd/multiway command
Multiway merges multiples sorted files.
Multiway merges multiples sorted files.
algos/c2/s4/cmd/topm command
Topm finds top N transactions in the standard input.
Topm finds top N transactions in the standard input.
ostep/cpu/cmd/sched command
Scheduler implements basic CPU scheduler policies: first-in-first-out, shortest job run.
Scheduler implements basic CPU scheduler policies: first-in-first-out, shortest job run.
ostep/cpu/cmd/sched/internal/job
Package job provides basic primitives describing jobs.
Package job provides basic primitives describing jobs.
ostep/cpu/cmd/sched/internal/report
Package report generates simulation reports.
Package report generates simulation reports.
ostep/cpu/cmd/sched/internal/sched
Package scheduler implements scheduling policies to select next job to run: First-in-First-Out, Shortest job first, Shortest Time to Complete First, etc.
Package scheduler implements scheduling policies to select next job to run: First-in-First-Out, Shortest job first, Shortest Time to Complete First, etc.
ostep/cpu/cmd/sched/internal/sim
Package sim is responsible for drivin jobs scheduling sicmulation.
Package sim is responsible for drivin jobs scheduling sicmulation.
ostep/cpu/cmd/sched/internal/trace
Package trace provides tracing facilities for scheduler simulations.
Package trace provides tracing facilities for scheduler simulations.
ostep/cpu/lottery command
Lottery runs simulation of a lottery scheduler.
Lottery runs simulation of a lottery scheduler.
ostep/cpu/lottery/internal/cmd
Package cmd provides basic constructs to run the lottery scheduler, i.e., a runnable command.
Package cmd provides basic constructs to run the lottery scheduler, i.e., a runnable command.
ostep/cpu/lottery/internal/job
Package job implements primitives to describe jobs.
Package job implements primitives to describe jobs.
ostep/cpu/lottery/internal/report
Package report provides primitives to generate simulation reports.
Package report provides primitives to generate simulation reports.
ostep/cpu/lottery/internal/sim
Package sim run the simulation.
Package sim run the simulation.
ostep/cpu/lottery/internal/trace
Package trace generates a sequence of folded cycles that belong to the same job.
Package trace generates a sequence of folded cycles that belong to the same job.
ostep/cpu/mlfq command
Mlfq demonstrates Miltilevel Feedback Queue scheduler policy.
Mlfq demonstrates Miltilevel Feedback Queue scheduler policy.
ostep/cpu/mlfq/internal/cmd
Package cmd provides a simulation command with flags, drives simulation, and generates a report.
Package cmd provides a simulation command with flags, drives simulation, and generates a report.
ostep/cpu/mlfq/internal/cpu
Package cpu provides CPU clock to count cycles.
Package cpu provides CPU clock to count cycles.
ostep/cpu/mlfq/internal/io
Package io emulates I/O.
Package io emulates I/O.
ostep/cpu/mlfq/internal/policy
Package policy implements Multilevel Feedback Queue scheduling policy.
Package policy implements Multilevel Feedback Queue scheduling policy.
ostep/cpu/mlfq/internal/proc
Package proc provides basic primitives representing processes in the system.
Package proc provides basic primitives representing processes in the system.
ostep/cpu/mlfq/internal/queue
Package queue provides RoundRobin queue for Multilevel Feedback Queue scheduler.
Package queue provides RoundRobin queue for Multilevel Feedback Queue scheduler.
ostep/cpu/mlfq/internal/report
Package report generates simulation reports.
Package report generates simulation reports.
ostep/cpu/mlfq/internal/sim
Package sim runs process scheduling simulation.
Package sim runs process scheduling simulation.
ostep/mem/allocator command
Allocator simulates memory allocation user library such as malloc(3).
Allocator simulates memory allocation user library such as malloc(3).
ostep/mem/allocator/internal/heap
Package heap emulates memory allocations, with API simulat to malloc(3).
Package heap emulates memory allocations, with API simulat to malloc(3).
ostep/mem/allocator/internal/report
Package report generates a report for the allocator simulation.
Package report generates a report for the allocator simulation.
ostep/mem/segment command
Segment demonstrates address translation with support for memory segments.
Segment demonstrates address translation with support for memory segments.
ostep/mem/segment/internal/mem
Package mem provide basic primites to emulate memory management.
Package mem provide basic primites to emulate memory management.
ostep/mem/segment/internal/report
Package report provides primitives to generate a simulation report.
Package report provides primitives to generate a simulation report.
ostep/mem/translate command
Translate demonstrates address translation using base and bounds CPU registers, where base is the offset of the virtual address space and bounds is the size of the virtual address space.
Translate demonstrates address translation using base and bounds CPU registers, where base is the offset of the virtual address space and bounds is the size of the virtual address space.
check
cmd/check-go-test command
Check-go-test runs `go test` on package for Go files.
Check-go-test runs `go test` on package for Go files.
cmd/check-go-test/internal/check
Package check gives access to failed `go test` for Go file packages.
Package check gives access to failed `go test` for Go file packages.
cmd/check-godoc command
cmd/check-godoc/internal/check
Package check ensures that Go exported symbols and the package include documentation.
Package check ensures that Go exported symbols and the package include documentation.
cmd/check-issue command
Check-issue verifies that a git-commit(1) message includes a reference to an issue or explicitly states that the commit is not associated with any issue.
Check-issue verifies that a git-commit(1) message includes a reference to an issue or explicitly states that the commit is not associated with any issue.
cmd/check-issue/internal/issue
Package issue verifies that commit message, represented by a file, has a reference to the issue, i.e., either `NO_ISSUE` or `Issue #123` line, ignoring case.
Package issue verifies that commit message, represented by a file, has a reference to the issue, i.e., either `NO_ISSUE` or `Issue #123` line, ignoring case.
cmd/check-license command
Check-license verifies that the file includes a copyright statement.
Check-license verifies that the file includes a copyright statement.
cmd/check-license/internal/check
Package check validates license blocks.
Package check validates license blocks.
cmd/check-license/internal/cmd
Package cmd implements the check-license command.
Package cmd implements the check-license command.
cmd/check-license/internal/fix
Package fix fixes license blocks.
Package fix fixes license blocks.
cmd/check-license/internal/license
Package license generates license block.
Package license generates license block.
cmd/check-nextid command
Check-nextid verifies that a Protocol buffer definition has a next-id comment set to the next value to the maximum used field identifier.
Check-nextid verifies that a Protocol buffer definition has a next-id comment set to the next value to the maximum used field identifier.
cmd/check-nextid/internal/nextid
Package nextid implements Protobuf checks for next-id comments.
Package nextid implements Protobuf checks for next-id comments.
cmd/check-nosubmit command
Check-nosubmit checks for presence of "DO NOT SUBMIT" comment.
Check-nosubmit checks for presence of "DO NOT SUBMIT" comment.
cmd/check-nosubmit/internal/nosubmit
Package nosubmit checks files against presence of "DO NOT SUBMIT" comment.
Package nosubmit checks files against presence of "DO NOT SUBMIT" comment.
cmd/check-pbdoc command
Check-pbdoc verifies that every item in a Protobuf definition includes a documentation comment.
Check-pbdoc verifies that every item in a Protobuf definition includes a documentation comment.
cmd/check-pbdoc/internal/check
Package check verifies that Protobuf declarations are documented.
Package check verifies that Protobuf declarations are documented.
cmd/check-todo command
Check-todo validates todo-comments.
Check-todo validates todo-comments.
cmd/check-todo/internal/todo
Package todo validates todo-lines.
Package todo validates todo-lines.
go
flags
Package flags implements auxiliary command-line flag types for flags package.
Package flags implements auxiliary command-line flag types for flags package.
slices
Package slices provides complementary functions to slices package from standard library.
Package slices provides complementary functions to slices package from standard library.
tests
Package tests implements auxiliary tools for testing package.
Package tests implements auxiliary tools for testing package.
infra
cmd/alpine command
Alpine fetches latest releases and prints a URL to ISO image for requested flavor, defaulted to "alpine-virt".
Alpine fetches latest releases and prints a URL to ISO image for requested flavor, defaulted to "alpine-virt".
iq
cmd/iq command
Iq gives access to the interview questions registry.
Iq gives access to the interview questions registry.
cmd/iq/internal/create
Package create implements a command to add a new question to the database.
Package create implements a command to add a new question to the database.
cmd/iq/internal/registry
Package registry gives access to the interview questions.
Package registry gives access to the interview questions.
x
ast command
Ast pases a Go file and prints Abstract Syntax Tree.
Ast pases a Go file and prints Abstract Syntax Tree.
ast/internal/proto
Package proto implements functions to print Protobuf AST.
Package proto implements functions to print Protobuf AST.
balancer command
compdb/cmd/compdb command
Compdb generates a compilation database from a Bazel project.
Compdb generates a compilation database from a Bazel project.
compdb/internal/bazel
Bazel provides integration points with Bazel build system such as running actions query.
Bazel provides integration points with Bazel build system such as running actions query.
compdb/internal/compdb
Compdb generates LLVM compilation database for Bazel targets.
Compdb generates LLVM compilation database for Bazel targets.
feed/cmd/feedreader command
Feedreader implements an RSS, Atom, etc.
Feedreader implements an RSS, Atom, etc.
feed/internal/feed
Package feed implements streaming interface to access RSS, Atom, etc.
Package feed implements streaming interface to access RSS, Atom, etc.
feed/internal/pb
Package pb holds Protocol Buffers for the feed package.
Package pb holds Protocol Buffers for the feed package.
fin/cmd/csv2pb command
csv2pb converts Shiller market data from CSV to Protobuf format, https://shillerdata.com.
csv2pb converts Shiller market data from CSV to Protobuf format, https://shillerdata.com.
fin/cmd/finsim command
Finsim simulates financial market using Shiller data.
Finsim simulates financial market using Shiller data.
fin/internal/csv
Package csv implements reading and parsing of Shiller data from CSV format into Protobuf representation.
Package csv implements reading and parsing of Shiller data from CSV format into Protobuf representation.
fin/internal/fin
Package fin provides common units for market analysis.
Package fin provides common units for market analysis.
fin/internal/pb
Package pb holds Protobuf schema for Shiller market data.
Package pb holds Protobuf schema for Shiller market data.
fin/internal/report
Package report generates reports for simulated results.
Package report generates reports for simulated results.
fin/internal/ror
Package ror calculates rates of return.
Package ror calculates rates of return.
fin/internal/sim
Package sim runs financial simulation.
Package sim runs financial simulation.
fin/internal/stat
Package stat holds statistical tools for financial simulation.
Package stat holds statistical tools for financial simulation.
fin/internal/strategy
Package strategy implements different market strategies.
Package strategy implements different market strategies.
fin/internal/tests
Package tests provides helpers for testing.
Package tests provides helpers for testing.
freebsd/kqueue/kquser command
User demonstrates kqueue(2) send and receive a user event.
User demonstrates kqueue(2) send and receive a user event.
go/concurrency/balancer/roundrobin command
Balancer demonstrates a round-robin work load balancer.
Balancer demonstrates a round-robin work load balancer.
go/json
Package json collects demonstrations of various JSON techniques in Go.
Package json collects demonstrations of various JSON techniques in Go.
mdview command
Mdview runs a server to preview markdown files rotted at current working directory.
Mdview runs a server to preview markdown files rotted at current working directory.
mdview/internal/mdview
Package mdview runs an HTTP server to serve markdown file at localhost:8080/.
Package mdview runs an HTTP server to serve markdown file at localhost:8080/.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL