Share your repls and programming experiences

← Back to all posts
COYOTE OS
CodeLongAndPros

A 'OS' in python. Can't run on real hardware, but is still cool.

The default credentials are:
Cinco (Username)
Coyote (Password)

I recommend forking this so I can't access your data if you make an account.

Use help to get commands. Use man [command] to get more info.

Feedback is greatly appreciated.
My favorite part are the *.ledger files.

This is the extension -reincarnation- of Salmon-dev-chronos

UPDATE: I just added an editor. Call it using jedi, with the filename as the first argument.

Use a to append at the current pos. When appending, press ` to exit.

Use w to write to disk.

Use p to print the current line.

Use l to show the whole file,

Use d to delete the current line.

Use q to quit.

Enter any int to goto that line.

An example session:

Voters
G0RG3
programmeruser
HahaYes
SBCKing
Leroy01010
catherinebish
Anoki21
CodeLongAndPros
SkywayDeveloper
N3rdL0rd
Comments
hotnewtop
VMTU

my genius brain just tried to type a unix command

JustAWalrus

Hello, I like the idea and the execution is just great. I was wondering @Coder100 and I are making an OS. A bit like this but we will make it much more complex. It will use Python and probably some json/yml. If you wanted to join that’d be great. Reply for more info.

CodeLongAndPros

@Wuru Sure.

JustAWalrus

K I’ll invite rn and explain. @CodeLongAndPros

JustAWalrus
Leroy01010

CAN I HAVE A USERNAME

CodeLongAndPros

@Leroy01010 Sure! Login with "Cinco" and "Coyote", enter cconfig, and press (4)

JoeyLent

This is just one thing, there may be more, but this is the one I found. When you type ls la, it gives an error. Yes, I was thinking about ls -la from Unix.

Also, you can see the hash if you type in the wrong password. This can be or is a security flaw.

CodeLongAndPros

@JoeyLent You can type la to achieve the same as ls -la When you type ls la, you are trying to list directory la

JoeyLent

@CodeLongAndPros You should still add checks to see if the input is going to create an error. This is the error I get:
FileNotFoundError: [Errno 2] No such file or directory: 'os/Cinco/la'

CodeLongAndPros

@JoeyLent It is trying to list dir la

Evanlicious

@JoeyLent The hash is SHA2-256, and it just translates to "C". I'm not sure why that would pop up, but it does somehow.

CodeLongAndPros

@Evanlicious The hash is SHA-256, but the hashed text is Coyote.

Evanlicious

@CodeLongAndPros Ah, so I must have gotten something wrong. Thanks for the correction.

CodeLongAndPros

@Evanlicious It's fine, as long as you didn't break SHA-256 :D

staticvoidliam7

this is cool

CodeLongAndPros

@LiamDonohue, thanks.

Warhawk947

wow what did I start

CodeLongAndPros

@Warhawk947 A project that was sitting in my repls untouched for 6 months.
But still very good.

Warhawk947
CodeLongAndPros

@Warhawk947 Thanks.

AphixDev

I see, you used Json. Good choice! It would be cool if for the password system, you can hash and salt the passwords.

CodeLongAndPros

@nt998302 Actually, I just wrote a python dict to the file, and loaded it with ast.literal_eval

CodeLongAndPros

@nt998302 But I am working on the hash

sylashur

I would suggest allowing the user to retry the sign in if they fail to sign in.

CodeLongAndPros

@sylashur Good idea, I'll work on it.

CodeLongAndPros

@sylashur Done! You now have unlimited login attempts.

sylashur

@CodeLongAndPros Yay, thank you.

sylashur

@sylashur Ooh, one more, probably a quick one, some people might not recognize the difference in color, and this would just feel all that more professional. I think there should be a message saying that you messed up the password.

CodeLongAndPros

@sylashur The interface is now this:

sylashur

@CodeLongAndPros 1. Awesome, well done. 2. Lol that's the same wrong password I used, are you keeping a log?

CodeLongAndPros

@sylashur Nope. I almost typed the correct password in, and remembered that I had to enter a bad password.

sylashur

@CodeLongAndPros Nice, I may or may not have gone through pretty much the same thought process.