#unix

216 posts · Last used 9h

Replying to
@navi@social.vlhl.dev @domi@donotsta.re @ska@social.treehouse.systems I predicted the storm, as well as a systemd-aged, as well as the #GDPR angle, over a fortnight ago. It took less than a day from my post for the first person, in reply, to propose an actual such #AgeVerification dæmon. https://mastodonapp.uk/@JdeBP/116156028746782578 This clearly model legislation is also slightly different in different states, as at least two legislatures amended the original bill. Which is going to cause further problems. https://mastodonapp.uk/@JdeBP/116176048755057656 #ColoradoLaw #IllinoisLaw #CaliforniaLaw #USLaw #Unix
Quoting

I foresee:

  1. #Debian eventually following #MidnightBSD's lead and cutting #California off from #FreeSoftware; after lengthy mailing list discussions where at least one person tries to deny with convoluted nonsense the plain reading of the statute.

  2. A storm when someone points out that the #MobaXTerm version of APT isn't exempt, nor is RPM. (Goodness knows what IBM is going to do.)

  3. An even bigger storm when someone adds an 'age' field to systemd's JSON User Records, to be enforced and served out over Desktop Bus via a systemd-aged service or some such. Much fun if that someone comes from a #GDPR country.

  4. Some nutter taking a Linux distribution to court because it doesn't enable developers to control whether 16-year-olds can install rustc and busybox.

#CaliforniaLaw #Unix #rust #USLaw #AgeVerification #FreeBSD #OpenBSD #NetBSD

Open quoted post
1
1
2
1
Replying to on mastodonapp.uk

I foresee:

  1. #Debian eventually following #MidnightBSD's lead and cutting #California off from #FreeSoftware; after lengthy mailing list discussions where at least one person tries to deny with convoluted nonsense the plain reading of the statute.

  2. A storm when someone points out that the #MobaXTerm version of APT isn't exempt, nor is RPM. (Goodness knows what IBM is going to do.)

  3. An even bigger storm when someone adds an 'age' field to systemd's JSON User Records, to be enforced and served out over Desktop Bus via a systemd-aged service or some such. Much fun if that someone comes from a #GDPR country.

  4. Some nutter taking a Linux distribution to court because it doesn't enable developers to control whether 16-year-olds can install rustc and busybox.

#CaliforniaLaw #Unix #rust #USLaw #AgeVerification #FreeBSD #OpenBSD #NetBSD

13
0
7
1
Replying to
Advanced Programming in the #UNIX Environment Week 5: The Compiler Toolchain This 4-parter covers the compiler toolchain, including a high-level refresher on compilers (you _did_ take a class on compilers, right?), the cpp(1) pre-processor to include .h files or replace macro definitions, the actual compilation & assembly of the intermediate code into object files, as well as the linker, ld(1). https://youtu.be/SOeo4zLBqdI https://youtu.be/8qPxQ3g8bso https://youtu.be/ddvYL-G3oew https://youtu.be/8LCyPmjknBY

Advanced Programming in the UNIX Environment: Week 05, Segment 3 - Compilers (Part I)

7
1
2
0
Replying to
Advanced Programming in the #UNIX Environment Week 5: make(1) Let's take a look at how the make(1) utility can be used to help us selectively build our code project. You don't need much to get started -- built-in default suffix rules make this easy -- but with time you can build complex build frameworks (see, e.g., #NetBSD's #pkgsrc system). We'll leave the question whether or not make(1) is Turing-complete for another day... https://youtu.be/WLTuUtj7LPw

Advanced Programming in the UNIX Environment: Week 05, Segment 7 - make(1)

0
0
1
0
Replying to
Advanced Programming in the #UNIX Environment Week 5: The Unix Development Environment This week, we're looking at the Unix system as an effective Integrated Development Environment. This introduction outlines the different tools we will cover in subsequent videos. (You may notice it is a bit dated already in it's references to AI from back in 2020. Good thing we don't allow the use AI in this class, so you've got nothing to worry about.) https://youtu.be/QYwYLR3UD2w

Advanced Programming in the UNIX Environment: Week 05, Segment 1 - The Unix Development Environment

5
4
3
0
Replying to
Advanced Programming in the #UNIX Environment Week 5: The Editor In this video lecture, we look at the required feature for a full-fledged programmer's editor and illustrate some of the core functionality by example of #vim. This includes basic motion commands, setting and moving to markers, using folds, and the integration with build tools, such as the compiler, debugger, and 'make', all of which we will cover in the next videos. https://youtu.be/DdaJ87G9Kes

Advanced Programming in the UNIX Environment: Week 05, Segment 2 - The Editor

4
3
3
0
Replying to
Advanced Programming in the #UNIX Environment Week 5: ed(1) is the standard text editor What? You thought we could skip ed(1)? No way! It's the standard text editor. ed man! !man ed But understanding ed(1) also helps us understand other tools like vi(1), sed(1), and ultimately even things like diff(1) and patch(1) better. https://youtu.be/mRZsV7aMK0I

Advanced Programming in the UNIX Environment: Tool Tip: ed(1) is the standard text editor

29
2
18
1
Replying to
Advanced Programming in the #UNIX Environment Week 4: The Unix Filesystem This week, we'll take a closer look at the Unix Filesystem (UFS). In our first video segment, we visualize how the filesystem structures the disk and organizes files and directories. We illustrate how directory entries are created and moved around. https://youtu.be/kY4JAXYyByQ

Advanced Programming in the UNIX Environment: Week 04, Segment 1 - The Unix Filesystem

7
12
4
0
Replying to
Advanced Programming in the #UNIX Environment Week 4: Links In this video lecture, we'll take a look at the system calls used to create, remove, and rename both hard- and symbolic links. We'll compare expected output against trivial implementations of the ln(1) and mv(1) commands. https://youtu.be/0l8o2goJ1kc

Advanced Programming in the UNIX Environment: Week 04 , Segment 2 - Hardlinks and Symlink

3
11
1
0
Replying to
Advanced Programming in the #UNIX Environment Week 4: Directories In this video, we take a look at how directories are created and removed, as well as how to move around the filesystem hierarchy. We also learn how directory permissions are applied, why the 'cd' command must be a shell builtin in order to work, what happens when you remove a directory you're currently in, and we revisit our simple ls(1) clone from week 1, using opendir(2) and readdir(2) to list files. https://youtu.be/xZ7dNXZ58G8

Advanced Programming in the UNIX Environment: Week 04, Segment 3 - Directories

4
10
2
0
Replying to
Advanced Programming in the #UNIX Environment Week 4: Directory Size Let's dive deep into the structure of the directory on a traditional Unix File System and see how its size is independent of the file sizes of its entries, but dependent on the filename lengths. We'll also use hexdump(1) to cheat a bit and look at the actual directory structure on disk. https://youtu.be/gY0SE-71LZA

Advanced Programming in the UNIX Environment: Week 04, Segment 4 - Directory Size

9
9
4
0
Replying to
Advanced Programming in the #UNIX Environment Week 4: /etc/passwd In this short video, we try to answer the awkward question "Mommy, where do UIDs come from?". We look at the /etc/passwd user database and identify the various fields before we look at how things can get weird. https://youtu.be/fv16TWDnLYM

Advanced Programming in the UNIX Environment: Week 04, Segment 5 - /etc/passwd

8
8
5
0
Replying to
Advanced Programming in the #UNIX Environment Week 4: getpwuid(2) and /etc/groups After having discussed all the account fields in /etc/passwd, we now look at the library functions used to look up that information. We learn about how primary and supplementary groups are handled as well as how the hashed passwords are stored outside of the world readable /etc/passwd file. https://youtu.be/aomkx6_aWpc

Advanced Programming in the UNIX Environment: Week 04, Segment 6 - getpwuid(2) and /etc/groups

2
7
3
0
Replying to
Advanced Programming in the #UNIX Environment Week 4: atime, mtime, ctime In this video lecture, we start looking a little bit closer into what our systems think of "time", something that experts most accurately describe as a big ball of wibbly, wobbly, timey, wimey... stuff. In short, analyze how the atime, mtime, and ctimes of a file connect. https://youtu.be/ffYEEj5vnlw

Advanced Programming in the UNIX Environment: Week 04, Segment 7 - atime, mtime, ctime

7
6
5
0
Replying to
Advanced Programming in the #UNIX Environment Week 4: time(3) is an illusion Having revisited the atime, mtime, and time in our last video segment, we now have to come to terms with time(3) itself. We'll discuss managing the data structures and handling arbitrary concepts such as leap seconds, timezones, and (ugh) Daylight Savings Time. It gets silly real quick. https://youtu.be/3N2aH1vUacQ For a lot more time based shenanigans, see also: https://www.netmeister.org/blog/epoch.html

Advanced Programming in the UNIX Environment: Week 04, Segment 8 - time(3) is an illusion

5
5
2
0
Replying to
Advanced Programming in the #UNIX Environment Week 3: stat(2) intro In this video lecture, we meet our new best friend, the 'struct stat'. We'll cover the stat(2) system calls and begin discussing each of the fields in the struct, often by example of the ls(1) and stat(1) commands. In this way, we begin learning more about how the Unix File System is implemented. (Note that the output of stat(1) on #NetBSD is different from that on #Linux.) https://youtu.be/veFwXrEHPsk

Advanced Programming in the UNIX Environment: Week 03, Segment 1 - All about stat(2)

8
21
2
0
Replying to
Advanced Programming in the #UNIX Environment Week 3: UIDs and GIDs In this video lecture, we'll learn a little bit more about file ownership and the user IDs of a process (real, effective, saved) by looking at the seteuid(2) and setuid(2) system calls and experimenting with setting the setuid bits and observe the file access we gain. https://youtu.be/YlcF3ncTQpo

Advanced Programming in the UNIX Environment: Week 03, Segment 2 - UIDs and GIDs

5
20
6
0