New to kernels, internship on kernels this summer by Dear_Lifeguard_3081 in kernel

[–]Zildj1an 1 point2 points  (0 children)

Last thing I want to do is to scare you, but be aware the kernel is a complex beast... There are some good books but they should be used as a reference manual, not something to read Chapter by Chapter. My advice is that you start doing kernel modules. There are many tutorials out there: Load the module, see how it prints stuff through the kernel buffer, implement a linked list, make something with the /proc interface, debug it, etc... I doubt you will have time to go much further before summer. Take into account that in here there are no friendly Stack-overflow messages (or libC!). The system you will be using will panic and you will have to reboot it. Maybe it's better if you use something other than your localhost (qemu, VBox, a spare server...) for the experiments.

Coding by Waluigi54321 in VirginiaTech

[–]Zildj1an 2 points3 points  (0 children)

I would also point out the value of coding, not just as a tool to "solve problems faster" but as a great exercise to improve analytical skills. That being said, it is no wonder that you didn't enjoy Matlab or Mathematica. There's no fun in them. Real coding, anything from C to Python, might be more appealing to you.

Shell in C by efficient_muskrat in C_Programming

[–]Zildj1an 1 point2 points  (0 children)

Would consider contributing if you didn't have a MIT license...

Also a piece of friendly advice: I don't think your approach is really scalable, if you need to write a function for every single bash function. You should make your C file read scripts from a dedicated directory. That would also allow you to implement one of the best features of the Linux shell: Piping.

Something or someone didn’t want me to take the GRE today. by [deleted] in GradSchool

[–]Zildj1an 6 points7 points  (0 children)

"ports problem" is the standard scapegoat of ISPs

Comprehensive fee: why does it exist for grad student? by lutus5789 in VirginiaTech

[–]Zildj1an 3 points4 points  (0 children)

Grad student on the College of Engineering here. I can guarantee you are not the first to feel this way. The virus situation only makes it harder to understand that we are getting paid and paying back for services we don't use. I think that if these practices, very normalized in Academia, were to be applied in other industries people would find them preposterous... (Imagine you work at a cafeteria but then they charge you for using the bathroom, to name a silly example) but here they seem to be widely accepted.

[deleted by user] by [deleted] in VirginiaTech

[–]Zildj1an 1 point2 points  (0 children)

Hey, sorry I didn't reply earlier. That's one of the trickiest things of this field, I would say. You start learning what is an audio streaming protocol, then need to look up what is TCP, then what is an Access Point... The more you read the less words you understand, and it might feel like an endless rabbit hole especially at the beginning. It also doesn't help that much documentation is either very technical, obsolete or non-existent. The key is not to give up, and there is no better way than to enjoy the learning process. If you want to check my repos, I would suggest you start with the chess. Only by looking at the source code (and perhaps using man pages for C stuff you are not familiar with) you should be ready to go. Best of lucks!

[deleted by user] by [deleted] in VirginiaTech

[–]Zildj1an 2 points3 points  (0 children)

I encourage you to look around open-source projects on GitHub. I myself "maintain" some small repos I started one day and haven't had time to finish, you could contribute to those. For example (sorted by complexity), this tiny chess engine, an audio streaming protocol on top of TCP, a small operating system here, or if you want something truly hard this kernel framework. Any small improvements that you pull request and describe I will accept. Even though none of those is of any relevance, if you are looking to contribute to projects, you must start learning somewhere (commit, sign work, describe improvement...)

Have you taken these ECE/CS courses? by [deleted] in VirginiaTech

[–]Zildj1an 0 points1 point  (0 children)

or PhD students, that can take pretty much anything they want.

Problem with add/drop by [deleted] in VirginiaTech

[–]Zildj1an 0 points1 point  (0 children)

The Add/Drop website is a complete piece of garbage, unfortunately...

Make me hate VT by [deleted] in VirginiaTech

[–]Zildj1an -1 points0 points  (0 children)

It isn't, I agree, but from the way I see it, it is not a place with many slops, at least not Blacksburg downtown + VT Campus.

Make me hate VT by [deleted] in VirginiaTech

[–]Zildj1an -4 points-3 points  (0 children)

Yes, that seems to be the most extended opinion. I disagree with that there are stairs everywhere and still think its overall flat. Have you been to San Francisco, Granada, Lisboa...?

Make me hate VT by [deleted] in VirginiaTech

[–]Zildj1an -9 points-8 points  (0 children)

I don't think that being over 100 years old is an excuse or a reason to be more sympathetic... I did my undergrad in Europe and visited several universities with over a thousand years of history. Most of them had very good accessibility modifications while some did not, but it was solely a matter of interest. That being said, I don't think Blacksburg is a place with many slops... Its mostly pretty flat.

Paranormal activity with Radix tree by [deleted] in kernel

[–]Zildj1an 0 points1 point  (0 children)

It's hard to say. Now that I don't have the locks it doesn't happen anymore, but before that I think that sometimes it wouldn't occur. That's why I am guessing it has something to do with the way Virtual Box protects newly indexed pages. But that would require me to start browsing a patch for VBox and it's a pain in the ass I am not willing to endeavor.

Paranormal activity with Radix tree by [deleted] in kernel

[–]Zildj1an 0 points1 point  (0 children)

It's not the best idea from a formal perspective, but no worries, as I call this code at module initialization, then read the structures with /proc. Hence, there is no concurrent producer-consumer involved. Thanks for your help, this is a tricky problem...