How useful is this latest Humble Book Bundle? (Linux and Open Source)


JDTAY

Half Pepperoni, All Cheese
Joined
Sep 15, 2015
Messages
3,754
Age
36
Location
North Carolina, USA
https://www.humblebundle.com/books/linux-book-bundle

I think I heard programmers are supposed to google everything they need to know. I like books though. Would getting these really be all that bad? Still don't actually have anything that runs Linux yet, but I'll get Pyra or die trying.

I still have yet to ever finish a significant programming project either, but I am the total master of setting up a working C++ and SDL2 program, adding a couple features to it, becoming uninspired, deleting it, and then repeating the whole process again. :p
 
In general, there is plenty of knowledge/experience you need as a programmer that is not easily googled.
For example, I don't really buy into the premise that googling around can readily replace a masters degree in computer science.

When I interview engineers I am wary of the types that only google their solutions together. You need knowledge and experience as well as good search skills. Good books raise exposure with the material which helps developing a skill way better than one or two small articles on a topic can.

I don't know these specific books, so I cannot judge their quality. Most are fairly specific and not all that fundamental to computer science knowledge (depending on your sub-domain/field of expertise). That said, they certainly won't hurt (except the Vim one :p) and it is not an expensive deal either. Git is worthwhile knowing, the book is available freely here: https://git-scm.com/book/en/v2

It seems though that in your particular case finishing a project is the main hurdle to overcome more than acquiring Linux expertise.
If you really do want to do so, then install Ubuntu in a VirtualBox environment on your desktop/laptop and play around with that. You have about two weeks to find out if you need one of these books to aid you in that :)
 
Thanks for the link to Pro Git. That might end up being all I really need, and then I could skip the bundle.

Don't feel bad about costing the charities involved with the bundle a dollar though. I assure you I am a charity case. >_>
 
For example, I don't really buy into the premise that googling around can readily replace a masters degree in computer science
I'm not sure I totally agree with this.

It really depends on how you use the information that you find on the internet. If you just look for code to copy/paste then yes, you won't replace a CompSci masters. However, you can well become self taught from searching the internet, if you learn the material.

It's not so much about where your information comes from that makes the difference, it's how you use it.
 
It really depends on how you use the information that you find on the internet.
Certainly. If you know what to look for you can find most if not all of the material taught in a CompSci masters on the web.

Problem is that you typically do not know what to look for. Googling around usually tends to be more focused on solving particular problems rather than acquiring fundamental knowledge. Thus while being completely self-taught might give one a good grasp of practical skills, the risk is that theoretical fundamentals are lacking. Depending on your goals and activities this may or may not be a problem.

In daily practice, I see a big difference and added value in terms of quality between formally educated software engineers and those that are self-taught programmers or e.g. retrained physicists.
 
I agree with Caine. All the material is freely available and it is certainly possible to gather the knowledge through self study, but I think for most people it is easier, faster, and much more entertaining to go to university:)
 
https://www.humblebundle.com/books/linux-book-bundle

I think I heard programmers are supposed to google everything they need to know. I like books though.
For me, learning is by order of preference: lessons with a professor (university or other), google and hands-on, books.

That said if you like books, by all means get them. To learn C and TCP-IP I used good reference books recommended by my teachers and it was enjoyable as well.
 
I wouldn't recommend the bundle to you, seeing as you don't even have any linux experience yet. Seems like most of the ones in the bundle are meant for people who are preparing to get a certification or are professional linux developers/admins. You should start with some more simple stuff, this is way beyond of what you will need to start programming in linux or becoming a linux user.

Well if you want to learn how to maintain a multitude of linux machines configurations, automatic updating and managing an IT facility, then the books might be a good choice.

Get yourself some books about bash (the most common linux command line terminal and shell scripting) and a book about python programming. That will set you up for a lot of fun and a good learning experience. You will learn in depth how linux operates while you are learning bash. If you've played with this for a while, you will be able to use your knowledge of C++ very easily. Linux has native support for the language and writing or porting an SDL2 program will be a breeze, once you understand the directory structure and how the OS generally works.

Learning python will take you a step further scripting wise as it is way more powerful than bash.

Also you probably won't need to become a "git pro". Once you know how to use bash and run commands with it, you can install git and start cloning repositories to compile the source code and if you're willing to contribute something, there are hundreds of simple guides on how to commit your code changes with git. That'll be pro enough for everything.

If you haven't used linux before, you will be surprised how much information the different tools provide themselves on how to use them, windows powershell is not like that. Most commandline tools give you all of the parameters they accept if you call them with -h or --help. If you need more information for example on a program called ls (which lists directories) you can call "man ls" and it will show you the manual of that particular program, also there is "info ls" which will show you a more elaborate documentation than man is able to.

Here are a couple of useful links:
http://linuxcommand.org/lc3_learning_the_shell.php (good tutorial on using the terminal and bash, also explains a lot about the operating system structure)
- if you are running Mac OSX you can also open a terminal there and it will run bash, lot's of similar commands are available there
- have an android device like a tablet or cellphone? you can just search the play store for "terminal emulator" then and start using a linux commandline to poke around your android system, which is basically a linux OS aswell.
- if you are a windows user and don't want to install a linux distro/VM you can download a handy package called cygwin (http://www.cygwin.com/) which will let you install a bunch of linux compatible commands, a bash shell and you can go ahead and try out a linux command line and even compile your c++ stuff in it, right from your windows desktop
- https://www.atlassian.com/git/tutorials (this will be enough to make you a git pro if you choose to go that deep, but will also serve as a thorough introduction if you just want to start using git)

And yes, googling is the way to go if you need quick information. It's a very handy way to troubleshoot your linux install, find information about tools and commands that you don't know yet and when you are stuck while coding and have a specific problem. Books are awesome, but there is so much more information on the internet and things like stack exchange where you can ask fellow coders/nerds if you have a specific problem or question, or make use of the answers already given to people who have asked a similar question.

EDIT: looking at your prior posts, you seem like you are pretty good at coding already (certainly better than I am..). I am very confident that you will quickly learn how to use the linux command line
 
Last edited:
FWIW, I bought the Oreilley Systems Admin book (the armadillo book) when I was thinking of building a linux machine, but in practice I just installed ubuntu (back before the Mir/Unity nonsense even started) using its graphical installer, and never really started to learn system admin stuff before I installed Arch and came across systemd for the first time. Now I use that almost exclusively, most of the stuff in that book I bought is out of date.

Regarding that actual humble bundle, I know about git and vim and have read up on docker. For vim I downloaded a cheat sheet pdf back in the day and printed it out on heave paper and pinned it on my cubicle. For git I used it's manual pages in the main, although I did have to struggle with github's help pages to work out how to update my forked repository - why github doesn't have a 'pull' button next to the 'you are out of date' message especially if there are no conflicts I don't know.
 
Back
Top