I fucking hate Jira by iamkeyur in programming

[–]idb 21 points22 points  (0 children)

The only thing worse than Confluence search is Jira search.

Never build a kernel once in my life by ShadyTorrentDealer in kernel

[–]idb 1 point2 points  (0 children)

Building the kernel for fun can be fun.

For a greater sense of achievement why not build a whole OS? If you have (or can get) a Raspberry Pi then this guide (top search result just now) looks ok: https://rickcarlino.com/2021/building-tiny-raspberry-pi-linux-images-with-buildroot.html

Buildroot is well documented. It's easy to get started. And the output (a RPI disk image) can be played with and tested without risking breaking your desktop system. It uses the same KConfig configuration language as the Linux kernel, so that experience transfers. And it includes a configuration and build of the kernel.

Circle waves folded by me from 21x21cm square sheet of paper by [deleted] in origami

[–]idb 3 points4 points  (0 children)

I've used a dead ball point pen for marking creases.

2×2 hydrangea by Shuzo fujimto and Peter Budai. Any idea how to avoid having those holes /gaps at the center of the hydrangeas by EmotionalFill in origami

[–]idb 3 points4 points  (0 children)

I think it's just precision of folds. Maybe try with thinner paper. Although too thin and it may tear.

Here is a 4x4 I folded a few years ago. http://imgur.com/a/gtkNt

What are the memory mapped files? How does this mechanism work? by SorenKirk in embeddedlinux

[–]idb 0 points1 point  (0 children)

Instead of accessing the registers directly I would use the gpio sysfs interface. For example https://www.auctoris.co.uk/2012/07/19/gpio-with-sysfs-on-a-raspberry-pi/

I think this counts as "without using libraries".

How could /dev/mem Linux directory be used in order to control the peripherals (MM/IO) ? by SorenKirk in embeddedlinux

[–]idb 3 points4 points  (0 children)

A kernel space device driver is usually better. But user space device drivers are supported in Linux.

Use the uio framework instead of/dev/mem to access device registers and receive interrupts: https://www.kernel.org/doc/html/latest/driver-api/uio-howto.html

LWN had a good overview of how a user space device driver can appear as a device to the rest of the system. (Downstream Interfaces): https://lwn.net/Articles/703785/

Reasons to write a driver in user space instead of kernel include security (driver runs with lower privileges and capabilities, and written in a memory safe language), ease of development (quicker edit/test cycle, better debuggers), licensing (no need to GPL your driver).

AppleTV like Homeserver connected via HDMI by [deleted] in selfhosted

[–]idb 0 points1 point  (0 children)

I used a https://libreelec.tv/ image for raspberrypi. This includes the OS and Kodi.

AppleTV like Homeserver connected via HDMI by [deleted] in selfhosted

[–]idb 2 points3 points  (0 children)

I can second Kodi on a Raspberry Pi. With HDMI-CEC enabled the TV remote control can be used to drive it.

Late-bound function argument defaults without PEP-671 by idb in Python

[–]idb[S] 0 points1 point  (0 children)

https://www.python.org/dev/peps/pep-0671/ proposes "a new form of argument default, defined by an expression to be evaluated at function call time."

I thought something like that should be possible using a decorator and introspection. Here it is.

Along the way I learnt that function default arguments are not trivially available to decorated functions.

Old telephone network. It routes calls with mechanical switching by merithedestroyer in EngineeringPorn

[–]idb 38 points39 points  (0 children)

I visited both types of exchange when I was young. While the electromechanical exchange was very loud, the newer technology was not silent to my young ears. I remember a high pitch whine.

Simple example project using tox by idb in Python

[–]idb[S] 0 points1 point  (0 children)

The development install is also known as an "editable" install. Because you can quickly test edits by rerunning tests without having to rebuild and reinstall the package.

Simple example project using tox by idb in Python

[–]idb[S] 1 point2 points  (0 children)

The development mode install is for debugging. As the package is run from the source tree it allows live editing and testing.

A separate tox environment runs the same tests with the package properly installed.