These are chat archives for learnclang/general

10th
Jan 2015
Marcus Ottosson
@mottosso
Jan 10 2015 10:26

Next Screencast 10 January 8 PM GMT+0 (Tonight)!

Topic: Character Strings and Using Multiple Files in a Single Program
If you're ever unsure about the time, paste the time, including the GMT+0 into Google along with your city/country and it should tell you your local time!
Marcus Ottosson
@mottosso
Jan 10 2015 13:03

A Terminal Download Application - 12 January

On Monday we'll get started with our next project, to create a terminal-based application with which we can download files off the internet. Like with our Hello, World! project, each step will be fully documented on the Wiki, Issues and discussed here in the group.

To join

We'll attempt to keep the repository open to everyone who is part of the GitHub organisation, which means you are free to clone and push any changes that you make, so long as you properly document and discuss each change here, in the Wiki or in Issues.

If you aren't yet part of the GitHub organisation, let me know here and I'll get you set up. You are required to have basic knowledge of Git in order to get accepted, as you will be granted enough power to potentially break the repository for us all.

With great GitHub permissions, comes great responsibility! :D

Marcus Ottosson
@mottosso
Jan 10 2015 17:36

Low-Level Learning Resources

I recently came across Handmade Hero (thanks to @csaez!) and just the other day ventured into the dedicated forum.

https://forums.handmadehero.org/index.php/code-discussion?view=category&catid=4

It has thus far been the most mature and captivating source of discussion I've encountered; many topics cover interesting areas of real-time/high-performance programming using C/C++ at the most low-level there is and feature some very mature discussions (i.e. balanced opinions) by some - seemingly - seasoned programmers.

To name a few,

In a nutshell, everything is talked about as though it were made from scratch - it's a refreshing take when much of new material today is about re-using, assembling and configuring API's of which you know little about; e.g. web components, pre-packaged game engines.

Sebastian Thiel
@Byron
Jan 10 2015 19:30
@/all ## Screencast starts in 30 minutes
Marcus Ottosson
@mottosso
Jan 10 2015 19:33

Haven't quite confirmed it yet, but I think that by using someones name, such as @Byron He/She will get a different kind of notification via email, which might mean that by using @/all then everyone should be getting the same notification.

Used sparingly, I think it's well suited for Screencast updates. So, this is for you @/all! Prepare your weekend for character strings and compilation with multiple files! :)

Sebastian Thiel
@Byron
Jan 10 2015 19:34
Thanks for the hint, I have edited the message accordingly.
Marcus Ottosson
@mottosso
Jan 10 2015 19:34
@Byron Except now you missed out on the Markdown formatting that made the text huge!
Better put it underneath, along with some form of description or encouraging message. :)
@davidmartinezanim Nice add to the RPS repository, now we can watch videos directly from there!
@davidmartinezanim What do you think about the next project, of building a downloading app?
David Martinez
@davidmartinezanim
Jan 10 2015 19:46
@mottosso I like the idea of it. I guess that it will allow us to cover basic input, information manipulation that we can validate and whatnot. Not sure about how complex network communication will be though.
Marcus Ottosson
@mottosso
Jan 10 2015 19:47
That's the idea, basically to cover:
  1. Using non-obvious libraries, and it's api
  2. Get input from a command-line, like from the first RPS screencast
  3. Communicate with something else, in this case a server
  4. Output something to disk, a file
Though it would be really cool if there was a way of digging deeper and implement it using purely standard libraries, as low-level as possible, just to get an idea of what is actually happening.
David Martinez
@davidmartinezanim
Jan 10 2015 19:49
@mottosso indeed! It's a great learning opportunity and it is something that we will be using for sure in the future
Marcus Ottosson
@mottosso
Jan 10 2015 19:49
Such as:
  1. Maneuvering the network card
  2. Prepare a packet
  3. Initiate a GET request, probably a stream of sorts
  4. Poll network card for updates
  5. Etc.
Potentially, and worst case to simply get more comfortable with low-level calls and management.
Maybe we could have a look at distribution here as well.
Bundling an executable, providing an installer and setting up a "GitHub Pages" site.
elpie89
@elpie89
Jan 10 2015 19:51
hi all
Marcus Ottosson
@mottosso
Jan 10 2015 19:51
Hey @elpie89
elpie89
@elpie89
Jan 10 2015 19:53
i can't wait to work on next project...it's very cool
Marcus Ottosson
@mottosso
Jan 10 2015 19:53
Distribution might essentially involve:
  1. Source distribution, with build-script (such as Make)
  2. Binary distribution, via something like https://bintray.com/
  3. GitHub Pages, which is an automatic site-generator with pleasant initial look
@elpie89 Cool, me too :) I'm expecting we'll get going on Monday
David Martinez
@davidmartinezanim
Jan 10 2015 19:59
@mottosso @elpie89 it will be great!
elpie89
@elpie89
Jan 10 2015 21:04
very good lesson @Byron ,thanks
Sebastian Thiel
@Byron
Jan 10 2015 21:05
Thank you !
@mottosso Btw, you can use github releases to attach any binary file to a tag.
David Martinez
@davidmartinezanim
Jan 10 2015 21:06
thanks @Byron. Yet another great screencast
Sebastian Thiel
@Byron
Jan 10 2015 21:17
Latest code is now on github, along with a link to the youtube video. It will take just 2.5h to finish uploading :) !