But sort -R does not randomise input if one is using NetBSD.
A POSIX-like sort has no -R option. See, .e.g, Plan9 sort or early versions of FreeBSD or OpenBSD. Early Linux did not have this non-POSIX option either. For example, look at Debian, RedHat, SuSE and other distributions in the mid-2000's. HP-UX, Minix, BusyBox, and so on have no -R option.
A different approach to teaching "basic" UNIX commands would be to focus on the portability and "lowest common denominator" and ignore non-ubiquitous options like -R. Ask the student what sequences of commands, i.e., scripts, will work on all UNIX/UNIX-like OS regardless of the age of system. From that "basic" foundation, one can then learn how the programs have evolved to become larger and more complicated (a side lesson about bloat) and all the OS-specific differences between them.
Yea its a cyberdeck I am building with hardwired Atreus directly connected to pi zero gpios and using libuinput to make a software keyboard, which works amazing btw.
I am making it to init directly into getty without login (with busybox init), so it boots directly in usable /bin/bash in only 2-3 seconds, and all the available programs are simple python programs (ls, cp, mv, a basic line editor, touchtyping game, hangman etc) and the keyboard itself is a simple python program that basically scans the matrix and emits events to uinput. The frame is from plywood.
And I am trying to make it like a 'scavenger hunt' experience for my daughter, I will put special codes in various places in the programs or on the file system with different difficulty, and I can challenge her to find them.
The goal is to have < 50$ scavenger hunt computer kit (thats why I cant afford teensy or something)
This is just the prototype to see how it feels to write code using line editor, and also to test the effect of thinking of the keyboard as a program with a nested for loop, on her thinking about 'what happens when you press a key'
for r in rows:
send(r, 1)
for c in cols:
v = read(c)
if v == 1:
# (r,c) is pressed
send(r, 0)
I just uploaded those to show you how it looks, but again, its just to test the software and the screens size:https://github.com/jackdoe/programming-for-kids/blob/master/... https://github.com/jackdoe/programming-for-kids/blob/master/...
This is brilliant. I really admire the lengths you go to so that your kids can be engaged. Sounds like this has the potential to be quite fun and exciting.
https://www.thegamecrafter.com/games/the-unix-pipe-card-game
Full disclosure, I will make about a dollar from each purchase.
I love this as a concept, though.
I think if I were to expand this I'd maybe have pre-defined strings for the greps, cards with results on, number pre-selected etc. This makes it more of a 'find the card' or 'matching' game than a problem solving game, but it would make it more kids-card-gamey
Its amazing how your brain just sees what it wants to see.
Can anyone get these to printout larger, and where the grey comments are less washed out?
(if you are talking about the programming time game)
Since I printed only 50, I think the price is too high, so I would rather to give them for free than to charge unreasonable price. If you are willing to pay the shipping cost send me an email to b0000@fastmail.com, I still have few left.
Also, if you're trying to give this away, they both allow you to share a link to your design so other people can buy the cards direct.
----
edit: the sites may seem cheezy, but they're probably responsible for 95% of prototype card decks that professional designers print.
For other excellent non-Chinese, Buy America options, there are https://www.printplaygames.com/product-category/prototypes/c... , https://www.thegamecrafter.com/make/pricing#Cards and https://www.drivethrucards.com/joincards.php
I think this project would make a great Kickstarter. I don't think it would be hard to get 300 people interested in backing this. Shipping is probably going to be the biggest issue; find people on other continents to help you distribute it there. That can save a lot of money.
I would love to buy all of them as a set, and I believe a lot of others would as well.
The amount of shells that run in the browser, amazing, the number of new shells that run well in the browser - amazing.
1: https://github.com/jackdoe/programming-for-kids/tree/master/...
Nice work though, would definitely consider this for my own kids.
(When I was a kid, I had access to good design examples. I hated fonts “for kids”. Also, because the essence of play is simulation, and childish fonts ruin the game)
Designers love grey on grey. I’ll take comic sans any day.
So you were a snob since you were a child. Got it.
Please stop gatekeeping subjective matters.
But I don’t really see them in any other environment. I can’t think of anything that uses something similar except for big, distributed data processing pipelines like Apache Beam.
Where’s the Python with streaming pipelines?
[1] https://livefreeordichotomize.com/posts/2019-06-04-using-awk...
Python can do these things, but they aren't very pythonic and they don't feel as natural/intuitive.
Being able to type a command, give it some input and see its output, I believe is the most fundamental way to interact with the computer.
The basic concepts of files, folders, programs and processes are getting more and more murky with every new iOS and windows release, and yet, those are still the building blocks of everything, they are just hidden by some obscure interfaces and menus or are just plain inaccessible to the user.
UNIX Pipes are the most pure and useful way I know of how the user interacts with the programs and how the programs interact with each other passing their output to the other program's input, and I think it illustrates how more complicated things can be built.
But yeah this type of thing was always fun for me when I was a little guy.