The bad: You don't see the (wrong) output if you don't get it right the first time, making it hard to work iteratively and having to guess what the question actually intended.
E.g. 'Seven files that start with "Santa"' actually wants file names that start with Santa, after some questions that had you use "grep" to search file contents. Where I actually struggled with what's expected is Day 11.
The ugly: Actually a very nice design.
1. It's difficult to know that it is following from the previous problem, and then on some problems it changes the workspace.
2. It's not always easy to know what it wants.
3. The question about finding a line starting with "The" I successfully cheated:
cat night-before-christmas.txt | grep "The "
4. Likewise the ending "!": cat night-before-christmas.txt | grep "!"
5. On the eighth day I get a "runner error" with the command: mv *lve* Workshop
I'm globbing for the filename match, I'm not sure if it's "elve" or "Elve" and then trying to move to the target directory.Otherwise it's quite fun - the instant feedback is great.
I've long put off learning or even exploring tmux or learning more than a few handful of vim keybinds. So I started digging into configuring them and learning them well enough to be able to regularly use them for work and personal computers.
It's been very pleasant, to say the least. There's still a few ways I need to go where I do everything from the command line and the keyboard, but I think it's worth training your muscles to be comfortable with doing things purely using the keyboard.
I've switched to vim mode for a few tools that offer it. I started seriously using vimium on chrome and firefox (a friend had introduced me to it about 7 years ago but I never cared enough to learn it well).
Another reason I finally made the jump was that I've been having RSI pain on my right hand due to using mouse too much and in un-ergonomic positions. While I've taken measures to improve ergonomic use of the mouse and keyboard, I'm just totally impressed with the capabilities of keyboard navigation and how much value you can extract out of your keyboard.
My friends have been egging on me about the bell curve meme, but I think it's important for me to figure out the limits and then maybe I will finally go back to defaults and simpler tools. The only way to be on the right side of the bell curve is through the middle.
I think a beginner could be doing it right but then be told they are wrong as you aren’t evaluating actual commands
Best would be to like actually run it* and then check solutions out with awk that it pattern matches
* aka give me a shell ok worth a try lol xD
Edit: also I was expecting something a bit more challenging (also that is correct) to like exercise the brain for those of us that use shell (this is hacker news) something that takes a few minutes and isn’t just commands used all the time
And from pipers piping description I had no idea what was wanted of me.
grep laugh *
There's only one file in the directory. So that's a correct answer but the game wants me to run grep laugh night-before-christmas.txt
It's like those weird interviewers who have a specific answer in mind and they'll accept nothing other than the answer they have in mind.I gave up after the following exercise:
On the eighth day of Shell my true love gave to me Eight elves in Santa's Workhop/ ... Hint: Try finding files named after Elves and moving them to the Workshop/ directory.
It turns out, all they want is the files in the ./Elves directory to the ./Workshop directory. But I didn't figure that out.
* https://en.wikipedia.org/wiki/Twelve_Days_of_Christmas
The days before the 25th are part of the season of Advent:
I will give this a go, but I doubt any of it will stick!
only content no filenames. Need to see the output if it's wrong to baseline what's being asked.
Like, do a complex background worker for a web server that listens to a socket, does complicated stuff, exports functions (if in Bash), etc.
You don't have to use it afterwards. The value is in the journey. It's fun :)
"lines that contain 'laugh'". lines of what? Doesn't tell you without looking at the answer.
genius.
My answer: `ls -a`
er, wrong. Then don't put all in the question!other than that - nice exercise for newbie shell dabblers :-)
But doesn’t seem to do enough shell escaping or correctly. Also seems underspecified, ie “find 5 lines starting with ‘the” doesn’t require a pipe to head -5.
I did have some issues with Day 11 figuring out what it wanted, but overall it was fun.
b64(r13(MaE3o3OmYz5yqPNtqUu0VPOxnJpX))TL;DR: The page stopped loading properly.
After the 3rd time I had to peek at "learn" to understand what was even asked, I gave up. This is more annoying than fun.