Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
in what area do you want to level-up? linux core development? scripting? administration? desktop user? etc..?
-
@aarfa
As for scripting -- automate shit. Learn at least basic usage syntax of awk, sed, grep/egrep, sort, uniq, column, tr, nc, curl. At least these are the tools I mostly use in my scripts. Master at least one shell scripting syntax. And I mean it. Find as many caveats as you can, tune your scripts for performance, readability, security. Learn how to hack scripts and how to protect them from hacking. Try to both: use bashisms for performance and rewrite your scripts in POSIX for portability (run your script in dash to see whether it's posix-compliant).
What to write? anything. Try to create a devRant client in shell. An RSS engine polling for new events on your FB account, games in bash (I did ping-pong once. That was a fun challenge), etc.
As for system development - I did not get what you mean -
@netikras You've hooked me :) I already know what I'm doing this evening. Will try to add autocomplete to my shell-based JSON parser :D
https://gitlab.com/netikras/bjson -
@aarfa Yes I have. https://gitlab.com/netikras/... . Do not cheat :)
If you want to learn -- google and manpage your ass off to find the WHATs, WHYs and HOWs. Take a day or two to find your starting point -
@linuxxx Uuuhhhh, that sounds very tempting! What's the script? What's the problem? I know you didn't ask for help, but I LOVE shell scripting challenges :) Maybe even more than the java ones
-
@aarfa Cheers.
As in programming try to write a stub first. Then - implement the main flow, make it work at least once. Then - tune the shit out of every component to make the whole script stable, reliable and able to handle errors. Always leave all the configurables at the top of the script.
DO NOT use `...` (backticks) for evaluation. Use $(...) instead. And get into a habbit of referring your variables with ${var_name} rather than $var_name. -
@netikras Solved! Read somewhere online that one can use the source command and ./script.sh and that it works the same but it doesn't I figured now.
It works :) -
@linuxxx naah, these are different uses :) but if you lose slash and replace it with a whitespace - you'd have an alternative of 'source': `. script.sh`
But that's what you've prolly figured out yourself :) -
@netikras Yeah haha. I'm writing a script which blocks all ip's/ranges of an AS number at iptables level.
This way I can block out everything from Microsoft etc at firewall level :) -
@aarfa yet another idea. Create a console-based multi-user chat application. With channels and PMs.
I did one in my prev workplace. Came in very handy. Had to leave src code behind. -
Not that much of a script... If sendmail is configured, sending email is as difficult as
echo hello | mail -t test1 aaa@bbb.Ccc -
aarfa2276y@rutee07 that sounds interesting too. And what you did was more practical and a smart work. I'll also examine such situations in my company and try to automate them
-
@aarfa solving actual problems is the best way to learn indeed. But the problem with real world is that you'll eventually run out of problems or ther solutions will begin to repeat themselves. While repetition est mater studiorum, there will be areas you will not even touch. For instance - vt100/xterm control sequences, unnamed fd usages, etc. That's where simulated problems/games come in handy - they will help you to touch areas you would miss with real-life problems' solutions.
The only problem with games/simulated solutions is that they will not be used. Hence garder to get motivation, harder to finish, impossible to get complaints about bugs :)
I'm trying to level up my Linux skills. What projects should I work upon. Which projects are you guys working upon?
P.S:- I'm using Linux from 3, years
rant