Wanna be 1337 in C programming?

Hi fellas,

It’s sharing time! With this wave of new comers who want to learn how to develop in C, I selected a few projects from my ex-uni that could be valuable to anyone wanting to dive in the C world.

Those exercices can be downloaded through the following URL:

https://0x0.st/UIG.zip

Note: Each folder contains an order.txt file, showing in which order you must undertake the projects.

It will help you understand the deeper concepts of C programming and, as you must already know, practice is the watchword to mastering this art.

P.S: Please, not mention the uni name to avoid google referencing system.

I hope it will help in your learning journey.

Best,
Nitrax

21 Likes

thannks Man :stuck_out_tongue: :slight_smile: ¯_(ツ)_/¯

2 Likes

Thanks!

I was just hitting a low spot in my programming confidence. This hopefully be a refreshing problem set for a man beaten down by MSDN!

2 Likes

I checked out some of the projects, there isn’t much learning material in there, just project overviews. This is a good one for someone wanting to learn: https://linuxconfig.org/c-development-on-linux-introduction

1 Like

Wouldn’t it just be easier to just code as you need to? Like for example, I personally script in Perl when I’m haxing or too lazy to click a button and automate everything… lulz. Personally I find that more helpful in the long run instead of doing projects all at once and mind that most of our attention spans are 10 seconds long (which has been proven btw). So yeah… that’s my two cents.

Well, it depends of what learning materials means to you. Indeed, there are several types of people in this vast world. Some of them needs practice to assimilate new concepts and that is what those projects have been uploaded for. Moreover, having guideline and starting a project from scratch can be more valuable than following a tutorial and copy/past snippets of code.

This post not aims to be THE learning way that have to be followed. Everybody is different and must find what’s fitting to himself.

This archive just provides a bunch of project overviews for whom have no project idea or whatsoever and need structured guidelines to improve his skills.

Best,
Nitrax

1 Like

Why did this happen

Gee it seems like the file was just a text file, which is why plain text was displayed. http://0x0.st/N9KW

When I try to visit the given URL I get this

Process 18 stopped
* thread #1: tid = 18, 0x00007f1416dab8e0, name = 'fhost'
    frame #0:
Process 18 stopped
* thread #8: tid = 18, 0x00007f13c8dd0670 fhost`get(path='/UIG.zip') + 27 at fhost.c:139, name = 'fhost/responder', stop reason = invalid address (fault address: 0x30)
    frame #0: 0x00007f13c8dd0670 fhost`get(path='/UIG.zip') + 27 at fhost.c:139
   136   get(SrvContext *ctx, const char *path)
   137   {
   138       StoredObj *obj = ctx->store->query(shurl_debase(path));
-> 139       switch (obj->type) {
   140           case ObjTypeFile:
   141               ctx->serve_file_id(obj->id);
   142               break;
(lldb) q

I guess this is due to the fact that the address expired, hopefully the author will share the source again. Any updates?

It’s literally their 404 page

@app.errorhandler(404)
def notfound(e):
    return u"""<pre>Process {0} stopped
thread #1: tid = {0}, {1:#018x}, name = '{2}'
frame #0:
Process {0} stopped
thread #8: tid = {0}, {3:#018x} fhost`get(path='{4}') + 27 at fhost.c:139, name = 'fhost/responder', stop reason = invalid address (fault address: 0x30)
frame #0: {3:#018x} fhost`get(path='{4}') + 27 at fhost.c:139
get(SrvContext *ctx, const char *path)  {{
StoredObj *obj = ctx->store->query(shurl_debase(path));
    switch (obj->type) {{
        case ObjTypeFile:
            ctx->serve_file_id(obj->id);
                break;
(lldb)
""".format(os.getpid(), id(app), "fhost", id(get), escape(request.path)), e.code

yep, I have seen that after looking around their platform (I am a new user here). I really hope the author will share again the source

Nice man :+1:
I’m in my first semester of studying computer science (we also have C right now) but it’s always better to have more stuff to practise and expand your knowledge with.
(I haven’t looked into your link yet)