Blog moved to
Please refer to the new Blog for updates and new posts.

FreeBSD System Calls Table

The “FreeBSD syscalls table” is available on the new Blog.

Disable sysctl ANYBODY flag

FreeBSD provides the sysctl system call and a wrapper utility to get or set the state of the kernel at run time (the handbook shows some useful example). Every user can get the value of a parameter:

% sysctl kern.maxprocperuid
kern.maxprocperuid: 6656

but, only the root user can usually set a value.

Read more

BSDCan 2020

BSDCan is an annual technical conference for people working on and with 4.4BSD based operating systems and related projects.
I had the honor of being a speaker this year, my talk was: “sysctlinfo: a new interface to visit the FreeBSD sysctl MIB and to pass the object info to userland” (video, slides and paper are available online).

MixerTUI 1.1

MixerTUI 1.1 is out!

MixerTUI is an audio mixer with a Terminal User Interface for FreeBSD, the new features of this version are: -d -h -m -v options and TAB to switch view mode.

Read more

MixerTUI 0.1

MixerTUI 0.1 is out!

MixerTUI is an audio mixer with a Terminal User Interface built on the FreeBSD sound system It can show the current Sound Driver configuration and select an audio device: to get its information, change the volume or to set as default, the last feature allows to switch easily audio from/to laptop and hdmi, headphones and speakers, etc.

Read more

sysctlview 2.0

sysctlview 2.0 is out!

The sysctl() system call can get or set the state of the system, the FreeBSD kernel exposes the parameters for sysctl() as objects of a Management information Base (MIB).

sysctlview is a graphical sysctl MIB explorer, it shows the properties and the value of an object, the new version 2 allows to set its value, too.

Read more

FreeBSD and Nvidia Optimus

This post is a “step by step” tutorial to describe how I can use my Nvidia GeForce GT540M graphic card of my FreeBSD laptop, screenshot.

Read more

Manual sysctlmibinfo2

The sysctlmibinfo2 library provides an API to explore the FreeBSD sysctl MIB and to get the info of an object, it is useful to build a sysctl-like tool to get or set the kernel state. For example, sysctlview, a graphical sysctl MIB explorer, depends on it.

Read more

Manuals sysctlinfo

sysctlinfo is an interface to explore the sysctl tree and to pass the properties of the nodes to the userland, this post displays the manuals (sysctlinfo.4 and sysctlinfo.3), for an introduction, examples and FAQ:

Read more

sysctlview 1.0

sysctlview 1.0 has been released!

sysctlview is a graphical explorer for the sysctl MIB (Source Code - Port - Distrowatch - DiscoverBSD).

Read more

Manual nsysctl(8)

nsysctl is a tool to get or set the FreeBSD kernel state supporting libxo and a lot of options, this manual page is intended as a reference document only, please refer to nsysctl tutorial for a more thorough description.

Read more

nsysctl tutorial

[Updated 2020-3-2]

The nsysctl utility can get or set the state of the FreeBSD kernel. The system exposes the available parameter as objects of a Management Information Base (“MIB”), nsysctl can explore the sysctl MIB, print the properties of an object, get or set its value and show the output via libxo in human and machine readable formats. This post is a step-by-step tutorial.

Read more

Manual sysctlmibinfo(3)

sysctlmibinfo is an open source (2-Clause BSD License) library for FreeBSD. It provides an easy userland API to the kernel sysctl MIB Tree to get mib-entry information, to traverse the MIB and then to build quickly a custom sysctl(8) tool.

Read more

ViM syntax highlighting for Cool

Cool (Classroom Object Oriented Language) is a language created to develop a compiler in a one semester course. I implemented a compiler for Cool, of course I needed to study the language, since ‘learning to code = coding’ the colored syntax is a good friend.

Read more

OpenBSD Audio Subsystem Graph

I was curious to know the OpenBSD Audio Subsystem, specifically all the components between user applications and hardware), after some “study” I created an ASCII graph to describe it.

Read more

GNU Make vs BSD Make

Recently I ported some project from Debian to FreeBSD. I used GNU Make to compile under Debian, but in FreeBSD, I preferred to use its make.

Read more

Hello World!

puts 'Hello, world!'

… Traditional and mandatory “Hello World”.